Selection de lignes dans un fichier

cagnion Messages postés 1 Statut Membre -  
asevere Messages postés 13521 Statut Webmaster -
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
A voir également:

2 réponses

francoispgp
 
cat -n titi | grep -e motif -e numerodeligne

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

Donc comment faire ?
0
asevere Messages postés 13521 Statut Webmaster 426
 
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
cagnion
 
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
asevere Messages postés 13521 Statut Webmaster 426 > cagnion
 
REgarde 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