Selection de lignes dans un fichier

Bonjour,

Je souhaiterais selectionner certaines lignes contenant un motif présent à une colonne définie dans un fichier plat.

Si j'utilise la séquence d'instruction :
cat fichier | grep "motif" | cut -c72,77
j'affiche uniquement le motif mais pas les lignes contenant ce motif.

Avez vous une solution ?

Est il possible de faire cette opération sans écrire un script ?

Merci d'avance. Bonne journée

2 réponses

  1. cat -n titi | grep -e motif -e numerodeligne

    te donnera les lignes entieres et la selection par numerodeligne.
    0
    1. merci pour ta réponse mais je ne connais pas les numéros de ligne par avance .

      Donc comment faire ?
      0
  2. Webmaster
    Salut,

    cat fichier | grep "motif" | cut -c72,77


    Avec cette commande, tu recupere la suite de caracteres de 72 à 77 des lignes contenant "motif" du fichier 'fichier"... est-ce bien ce que tu veux faire ?
    ne voudrais-tu pas putot recuperer les lignes du fichier "fichier" qui contiennent "motif" entre le caratére 72 et 77 ?
    Dans ce cas,
    cat fichier | cut -c72,77 | grep "motif" 

    serait plus approprié... ca ne te renvera encore que les caractére de 72 à 77, mais au moins, si "motif" est present dans une autre ligne mais pas a cet endroit ca n'apparaitra pas...

    Le mieux pour ce genre d'operation etant quand meme d'utiliser sed ou awk, au choix
    man awk pour + d'info :)
    @++

    "Si c'est stupide et que ça marche,
            alors ce n'est pas stupide"
    0
    1. mais le problème est que je souhaiterais que l'instruction me ramène les lignes entières contenant le motif et pas uniquement le motif.
      0
    2. Webmaster
      @cagnionREgarde les page man de sed et awk surtout awk je pense...
      @++

      "Si c'est stupide et que ça marche,
              alors ce n'est pas stupide"
      0