J'ai rencontré cette solution pour l'printing d'une ligne spécifique à partir d'un file text:
sed '123!d;q' file
Pourquoi ne pas abandonner après la première ligne d'input dans ce cas?
En anglais, ce programme sed
signifie: pour chaque ligne,
123!
] si le numéro de ligne actuel n'est pas 123, alors [ d
] effacera la ligne actuelle et commencera le cycle suivant (c.-à-d. passer à la ligne suivante); d
n'a pas été exécutée), [ q
] quitte sans traiter plus de lignes (mais imprimons la ligne courante dans nos agonisants). Ou si vous préférez, en syntaxe shell:
line_number=0 while IFS= read -r pattern_space; do line_number=$(($line_number+1)) if [ $line_number -ne 123 ]; then # 123! continue # d fi echo "$pattern_space"; break # q echo "$pattern_space" # implicit final print (never reached) done