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

Linux Discussion :

Problème sur une cmd avec AWK


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Problème sur une cmd avec AWK
    Voilà g un fichier dont chaque ligne contient soit 1100 soit 1200 soit 1300.
    Le fichier se présente de la maniere suivante :
    mot1 ; mot2 ; 1100
    mot1 ; mot2 ; 1200
    mot1 ; mot2 ; 1100
    mot1 ; mot2 ; 1300

    Je souhaite remplacer le nombre de la maniere suivante
    1100 --> BE
    1200 --> FAB
    1300 --> EXT

    Ce qui donne :
    mot1 ; mot2 ; BE
    mot1 ; mot2 ; FAB
    mot1 ; mot2 ; BE
    mot1 ; mot2 ; EXT

    Je pense qu'il faut que j'utilise la cmd awk voici ce que j'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat /soft/fichier1.txt | awk -F; {print $1;$2;} if($3==1100){print BE} else{ if($3==1200){print FAB} else{print EXT} } > /soft/fichier2.txt
    Mais il y a des erreurs de syntaxe, merci de m'expliquer ce qui ne fonctionne pas...

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Salut,

    Tu mets les lignes suivantes dans un fichier (toto.awk par exemple), puis tu executes la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    je@machine $> awk -f toto.awk fichier_a_traiter.txt > nouveau_fichier.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BEGIN {}
    /1100/ {
    printf ("%s ; %s ; BE \n", $1, $2)}
    /1200/ {
    printf ("%s ; %s ; FAB \n", $1, $2)}
    /1300/ {
    printf ("%s ; %s ; EXT \n", $1, $2)}
    END {}
    PS : suis pas sur que BEGIN{} et END{} soient necessaires, mais j'ai pas esaye sans.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    y a beaucoup plus simple ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sed 's/1100/BE/
    > s/1200/FAB/
    > s/1300/EXT/' le_fichier > new_fichier
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Merci à tout les deux je devrais pouvoir m'en sortir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dégradé sur une listbox avec 1/2 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/05/2006, 18h21
  2. [Débutant] Aligner deux divs sur une ligne avec inline
    Par Braz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/03/2006, 10h52
  3. Interpolation sur une polyline avec tangentes
    Par Pedro dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 12/01/2006, 23h10
  4. Réponses: 16
    Dernier message: 10/11/2005, 22h51
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

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