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 :

Shell et regexp


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Points : 50
    Points
    50
    Par défaut Shell et regexp
    Bonjour,

    j'essaye d'utiliser les regexp en shell dans le but d'extraire des informations d'un fichier.

    je dispose d'un fichier formaté de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    a;b;c;1#10;2#20;3#30
    d;e;f;4#40;5#50;6#60
    et j'aimerai utiliser les regexp afin d'avoir en sortie un fichier contenant les informations suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    a;1;10
    a;2;20
    a;3;30
    b;4;40
    b;5;50
    b;6;60
    Est-il possible de faire ca en shell ?

    Merci de votre aide.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 596
    Points : 19 481
    Points
    19 481
    Par défaut
    bonjour,

    ça me paraît bizarre, que tu veuilles b avec les nombres de la deuxième ligne...
    tu peux confirmer ?

  3. #3
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Pas bien compris : c'est quoi le principe ?

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    ça me paraît bizarre, que tu veuilles b avec les nombres de la deuxième ligne...
    Non en effet petite erreur de frappe.

    Il fallait comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a;1;10
    a;2;20
    a;3;30
    d;4;40
    d;5;50
    d;6;60
    Merci.

  5. #5
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
    IFS=';'
    while read A B C D E F
    do
        for V in D E F
        do
            echo "$A;${!V%#*};${!V#*#}"
        done
    done < fichier
    ou en une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IFS=';'; while read A B C D E F; do for V in D E F; do echo "$A;${!V%#*};${!V#*#}"; done; done < fichier

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 596
    Points : 19 481
    Points
    19 481
    Par défaut
    en bash :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    while IFS=';#' read -a line
    do #  printf '%s;%s;%s;%s;%s;%s;%s\n' "${line[0]}" "${line[@]: -6}"
       # ou
       printf '%s;' "${line[0]}" "${line[@]: -6}"
       echo -e '\b' ""
       #
    done <ton_fichier

Discussions similaires

  1. regexp shell pour trouver certains types de if
    Par ManusDei dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 30/07/2012, 10h10
  2. script shell regexp
    Par ju_bi dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h15
  3. Regexp shell pour sed
    Par GLDavid dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 15/11/2006, 17h21
  4. [SHELL] Icônes associées à des fichiers
    Par agh dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 09/04/2003, 18h04
  5. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 10h39

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