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 confirmé
    Inscrit en
    Octobre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    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 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 646
    Par défaut
    bonjour,

    ça me paraît bizarre, que tu veuilles b avec les nombres de la deuxième ligne...
    tu peux confirmer ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 84
    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 expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    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 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 646
    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
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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, 09h10
  2. script shell regexp
    Par ju_bi dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 13h15
  3. Regexp shell pour sed
    Par GLDavid dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 15/11/2006, 16h21
  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, 17h04
  5. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 09h39

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