Em inglês, esse programa sed
significa: para cada linha,
- [
123!
] se o número da linha atual não for 123, então [d
] excluirá a linha atual e iniciará o próximo ciclo (ou seja, mover para a próxima linha); - então (mas nós só alcançamos este ponto se o comando
d
não foi executado), [q
] sai sem processar mais linhas (mas imprima a linha atual em nossas agonizantes mortes).
Ou, se preferir, na sintaxe da 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