Bonjour,
Comment faire pour afficher les 3 lignes qui suivent à chaque fois qu'on rencontre une phrase clé ?
Bonjour,
Comment faire pour afficher les 3 lignes qui suivent à chaque fois qu'on rencontre une phrase clé ?
Bonjour,
Le plus simple, c'est de le faire avec grep et sont connecteur -A:
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep -A 3 motif fichier
Cordialement.
effectivement c'est efficace. Sauf les -- qui sont pas jolis. Je suppose que je m'en sors avec un grep ['alpha'] en deuxième passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep --no-group-separator -A 3 motif fichier
Cordialement.
ah ben oui, terrible. Nickel, merci beaucoup !
On peut bien sûr aussi le faire avec awk, ce qui a l'avantage d'être portable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '/motif/{i=4}i-->0' fichier
ɹǝsn *sıɹɐlos*
J'aime bien cet uniligne awk.
PS: petit détail, pour les 3 lignes suivantes faut que i=4.
Cordialement.
Oui, 4, bien sûr. C'est corrigé. Merci !
ɹǝsn *sıɹɐlos*
et oui ça marche aussi, même si je ne comprends rien à cette syntaxe.
Une version commentée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 /motif/ {i=4} # si la ligne contient "motif", j'affecte la valeur 4 à la variable i. Dans tous les cas, je passe au test suivant i-- > 0 # si la variable i contient une valeur supérieure à zéro, j'effectue l'action par défaut qui est d'afficher la ligne courante. Dans tous les cas, je décrémente la valeur de i après avoir fait le test.
ɹǝsn *sıɹɐlos*
d'accord, c'est plus clair effectivement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager