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] Traiter un resultat sur plusieurs lignes


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 28
    Points
    28
    Par défaut [Shell] Traiter un resultat sur plusieurs lignes
    Bonjour a tous!

    Je vous explique mon petit probleme :
    J'aimerais récupéré les 10 lignes qui suivent une chaine de caracteres que je recherche dans un fichier.

    A partir du fichier je recupere donc les numeros de lignes dans lesquelles se trouvent la chaine de caracteres que je recherche. Ensuite j'utilise awk avec le numero de ligne récupéré pour affiché les lignes que je souhaite afficher grace a leur numéro.
    Je pensais faire comme suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    LIGNED=`cat monfichier | grep -n "ma chaine de caractere" | cut -d : -f1`
    LIGNEF=$[$LIGNED+10]
    awk 'NR == $LIGNED , NR == $LIGNEF {print NR " : " $0}' monfichier
    Mais le probleme est que parfois grep me donne plusieurs lignes de résultats et donc j'aimerais pouvoir utiliser ces différents résultats afin d'afficher les 10 lignes qui suivent chaque occurences de ma chaine.

    Est ce que quelqu'un a une idée ?

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    linesAfter=10
    grep "chaine de caracteres" -A $linesAfter FICHIER

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Bon... je vais allez apprendre a lire ma manpage....

    Merci!!

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

Discussions similaires

  1. Shell - Report d'1 champ sur plusieurs lignes
    Par coco_mtl dans le forum Unix
    Réponses: 2
    Dernier message: 26/01/2011, 17h52
  2. commande sql sur plusieurs lignes dans un shell
    Par oguevel dans le forum DB2
    Réponses: 2
    Dernier message: 14/01/2010, 08h48
  3. Réponses: 9
    Dernier message: 11/09/2007, 10h08
  4. [VBA-E] renvoyer le resultat d'un inputbox sur plusieur lignes
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2007, 17h58
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

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