Une autre approche utilisant awk, basée sur l'idée de Sundeep d'utiliser une liste:
awk 'BEGIN { a[15] a[25] }; NR % 50 in a'
Définissez les clés dans le tableau en a
fonction des lignes que vous souhaitez imprimer. Imprimer les lignes où NR % 50
correspond à l'une des clés du tableau.
Pour donner une indication des performances, j'ai chronométré cette approche et comparé aux autres réponses, en prenant une moyenne du user
temps pour 3 runs.
0,276s
$ time awk 'BEGIN { a[15] a[25] }; NR % 50 in a' <(seq 1000000) > /dev/null
0,374s
$ time awk 'NR % 50 == 15 || NR % 50 == 25' <(seq 1000000) > /dev/null
0,384s
$ time perl -ne 'print if $.%50==15 || $.%50==25' <(seq 1000000) > /dev/null
0,542 s
$ time perl -ne 'print if grep {$_==$.%50} (15,25)' <(seq 1000000) > /dev/null