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] Mise en forme résultat


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Par défaut [awk] Mise en forme résultat
    Bonjour,

    J'ai un fichier xml dans lequel je récupère les infos qui m'intéressent avec un awk.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    awk -F'"' '/TOTO/ {print $10} /VAR/ {print $4}' xml
     
    TOTO_1
    VAR1
    VAR2
    TOTO_2
    VAR1
    TOTO_3
    VAR1
    VAR2
    VAR3
    Je voudrais par quel moyen je peux arriver à mettre sur une même ligne TOTO et ses VAR puis un retour à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TOTO_1 VAR1 VAR2
    TOTO_2 VAR1
    TOTO_3 VAR1 VAR2 VAR3
    Merci d'avance.

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    J'ai un fichier xml dans lequel je récupère les infos qui m'intéressent avec un awk.
    Déjà, ça part mal. Pour traiter les infos d'un fichier xml, on préfèrera un outil spécialisé comme xmllint ou xmlstarlet.
    Utiliser grep sed awk ... est possible mais c'est de la bidouille possiblement crasseuse.


    Sinon, pour ton problème, il suffit de stocker et pas afficher au fur et à mesure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     awk -F'"' '/TOTO/ {debut=$10;fin="";} /VAR/ {fin=fin" "$4;} {print debut""fin;}'
    Tu ne donnes pas le fichier initial.
    Donc difficile de te guider plus.

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 358
    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 358
    Par défaut
    Bonjour,

    @Flodelarab: A priori, c'est sur plusieurs lignes (ou alors il y a plusieurs champs $4 sur la même ligne)...

    Sinon, je suis d'accord avec toi, ce serait plus propre avec des outils xml...

    Une autre solution awk, proche de l'original:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F'"' '/toto/ { printf("%s",XX$10) ; XX="\n" } /VAR/ {printf(" %s",$4)}END{printf("\n")}'

  4. #4
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Par défaut
    Merci beaucoup messieurs, la commande de disedorgue me parle plus et fonctionne également donc super.

    Et je prends note pour les outils spécialisés pour la suite.

    Bonne journée à vous

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

Discussions similaires

  1. Mise en forme résultat dans e-mail
    Par kck61 dans le forum Langage
    Réponses: 8
    Dernier message: 31/01/2011, 15h09
  2. Mise en forme des résultats d'une requete
    Par johanlft dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/10/2007, 12h28
  3. Mise en forme du résultat d'une requête
    Par BlackMinou dans le forum Oracle
    Réponses: 1
    Dernier message: 21/11/2006, 18h11
  4. Cosmétique - mise en forme du résultat d'une requête
    Par habasque dans le forum Langage SQL
    Réponses: 0
    Dernier message: 30/10/2006, 17h25
  5. [MySQL] Mise en forme du résultat d'une requête
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/09/2006, 22h08

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