web-dev-qa-db-fra.com

Imprimer le fichier texte toutes les trois lignes à partir de la 2ème ligne

Je l'ai fait avec une simple boucle pour compter et imprimer. Comment puis-je le faire en script bash avec un programme tel que sed, awk?

4
Smile.Hunter

Quelque chose comme ça:

awk 'NR % 3 == 2'

Tester

 sh-3.2 $ test supplémentaire 
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 

Résultat

sh-3.2$ awk 'NR % 3 == 2' < test
2
5
8
11
14
7
Rinzwind

Vous pouvez le faire comme ceci avec GNU sed:

seq 20 | sed -n '2~3p'

Sortie:

2
5
8
11
14
17
20
5
Thor