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 :

AWK - parser


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut AWK - parser
    Bonjour,

    J'aimerai parser ce type de fichier 1 afin d'obtenir le résultat du type fichier 2.
    J'aimerai le faire en awk, mais je coince sur un détail

    fichier1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    a toto 125
    a titi 12
    a tata 13
    b baba 154
    b bobo 13
    b bubu 165
    c coco 51
    c cucu 23
    c cici 49
    fichier2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a toto 125 titi 12 tata 13
    b baba 154 bobo 13 bubu 165
    c coco 51 cucu 23 cici 49
    Je sais qu'il faudrait le faire avec un tableau en utilisant a b et c comme clé , c'est à dire $1. Et concaténer le restant de la ligne mais je n'y arrive pas.


    ça donnerait quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F" " '{array[$1]=concat($2,$3)} END {for(i in array) {print i" "array[i]}}' fichier1
    merci d'avance de votre aide

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{tokeep=$2" "$3; if(! array[$1]){array[$1]=tokeep} else {array[$1]=array[$1]" "tokeep}}; END{for(i in array){print i,array[i]}}'
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    merci

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

Discussions similaires

  1. [JAXP] com.sun.xml.parser.ValidatingParser
    Par yolepro dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 05/11/2008, 15h36
  2. duree pour parser un fichier avec un script awk
    Par kass28 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 26/03/2008, 16h35
  3. [bash] utilisation de CAT/AWK pour parser un fichier CSV
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 32
    Dernier message: 25/07/2007, 23h34
  4. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26
  5. [langage] Continuer a parser une ligne
    Par D[r]eadLock dans le forum Langage
    Réponses: 5
    Dernier message: 30/09/2002, 18h49

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