Awk - afficher les 'x' lignes suivantes

Dans un fichier texte du genre :

-- Debut
-- Texte
Bonjour
Debian
-- Info 1
Partie 1
-- Texte
Test
Avec 
Awk
-- Info 2
Partie 2
-- Texte
Sélection
Plusieurs
lignes
-- Info 3
Partie 3
-- Fin

Je veux les deux premières lignes à partir de “-- Texte”, je fais :

$ awk '/-- Texte/ { print;getline;print }' monfichiertexte

Mais si je veux les ‘x’ lignes suivantes ?
Je ne vais pas faire autant de getline;print qu’il y a de lignes, si ?

Avec x=4 (le 3 viens de 4-1 car on fait un premier print avant la boucle)

Avec x=4 (le 3 viens de 4-1 car on fait un premier print avant la boucle)

Ok ! :slightly_smiling:

Coche verte Monsieur le modérateur :slightly_smiling:

Salut,

Aller, une version un peu plus ‘fun’ :confusion-seeingstars:

awk '/-- Texte/ {n=4} n > 0 {print; n--}'

Un poil plus court :stuck_out_tongue:awk '/-- Texte/{n=3}n-->0' ton_fichier
Avec grep sinon:grep -A2 -- '-- Texte' ton_fichier

Bonne idée GREP, je n’avais même pas imaginé qu’il puisse être plus pratique.

Je me sers de cette option (et de -B et -C) quotidiennement et je n’y ai pas pensé, pas mal :slightly_smiling:

Juste une petite astuce pour que mon message ne soit pas inutile. -F c’est cool c’est plus rapide :slightly_smiling: