IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Problème avec la commande sed


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut Problème avec la commande sed
    Bonjour ,
    Mon problème que j'ai un script qui permet de créer un fichier contenant des données séparé par un ;.
    La dernier ligne contient des blancs que je voulais le supprimé j’ai applique beaucoup des commande avec sed mais ne change rien.
    les commandes que j'ai essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sed '/[    /]*$/d' test.csv
    sed -e '/^; *$/d'
    sed '/^; *$/d'
    sed -e 's/[  ]*;=[ ]*/;=/g'
    sed -e 's/[  ]*;[ ]*/;/g'
    sed -e 's/; *;/;/g'  ( déja fonctionner sur un autre fichier mais pas celle que je veux)
    sed -e 's/;=  *;/;/g'
    tr -d ' '
    Mon fichier de sortie test.csv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    =("FRO-GEPSA018");=("34212254600225");01-07-2019/31-07-2019;       1789,32
    =("FRO-GNVERT01");=("41985346000584");01-07-2019/31-07-2019;      466,84
    =("FRO-ESGED01");=("53983181800064");01-07-2019/31-07-2019;        4788,55
    =("FRO-SGE")    ;=("54209732400017");01-07-2019/31-07-2019;           1587,78
    =("FRO-STO")    ;=("54209732400025");01-07-2019/31-07-2019;           798,28
    =("FRO-ELOC005");=("55204695500985");01-07-2019/31-07-2019;             4585
    =("FRO-ELOC002");=("55204695502627");01-07-2019/31-07-2019;         1997,54
    =("FRO-IDFTRT08");=("55204695503542");01-06-2019/30-06-2019;        -30,45
    =("FRO-IDFTRT08");=("55204695503542");01-07-2019/31-07-2019;        507,58
    =("FRO-ELOC015");=("55204695503682");01-07-2019/31-07-2019;         1393,28
    =("FRO-IDFTRT02");=("55204695504060");01-07-2019/31-07-2019;            10,31
    =("FRO-IDFTRT10");=("55204695504581");01-07-2019/31-07-2019;        1035,77
    =("FRO-ELSIEGNE");=("55204695506040");01-07-2019/31-07-2019;         2749,91
    =("FRO-BUB2B01");=("55204695506065");01-06-2019/30-06-2019;          369,06
    =("FRO-SCDC01");=("74542015800024");01-07-2019/31-07-2019;           1231,65


    Donc j'ai besoin d'aide comment je puisse faire pour supprimer les blancs avant les montants.
    la partie de code de script avec lequel je transforme mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    @$CHARG_SQLFIC
    QUIT;
    EOF
             if [ $? -eq 1 ] ; then
              print_log "<E> Erreur lors de l'exécution du script SQL."
              maj_cr 99
             else
              print_log "                   -> Création OK."
              print_log "                   -> Suppression des caractères de mise en forme SQL*Plus..."
              sed -e 's/    //g' \
                  -e 's/ //g' \
              $CHARG_FICSOR > $CHARG_FICSOR.tmp
              mv $CHARG_FICSOR.tmp $CHARG_FICSOR
     
              sed -e 's/[  ]*;[ ]*/;/g' $CHARG_FICSOR >> $CHARG_FICSOR1
              sed -e 's/;=  *;/; */;=/;/g' $CHARG_FICSOR1 >> $CHARG_FICSOR
             fi
            fi
            imp_etat "$CODSOC" "$CHARG_FICSOR" "Charges"
           fi

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    sed -e 's/[ ]*;[ ]*/;/g'
    Cela aurait dû marcher.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 277
    Points : 12 725
    Points
    12 725
    Par défaut
    Mouais, si les blancs sont bien des espaces...
    Cordialement.

Discussions similaires

  1. problème avec la commande sed et find
    Par Botfounast dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/08/2011, 19h19
  2. Problème avec la commande sed
    Par JUSTIN Loïc dans le forum Linux
    Réponses: 2
    Dernier message: 05/09/2006, 10h17
  3. Problème avec la commande nice
    Par ShadoX dans le forum Administration système
    Réponses: 2
    Dernier message: 08/08/2006, 18h59
  4. Problème avec la commande revoke sous oracle
    Par merlubreizh dans le forum Oracle
    Réponses: 19
    Dernier message: 28/04/2006, 15h02
  5. [C++] Problème avec la commande "make"
    Par quantik-revolution dans le forum Systèmes de compilation
    Réponses: 6
    Dernier message: 02/04/2006, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo