команда 'd' в утилите sed

Из документации sed:

d      Delete the pattern space; immediately start next cycle.

Что означает следующий цикл? Насколько я понимаю, sed не будет применять следующие команды после команды d и начнет читать следующую строку из входного потока и обрабатывать ее. Но кажется, что это не так. Смотрите этот пример:

[root@localhost ~]# cat -A test.txt
aaaaaaaaaaaaaa$
$
bbbbbbbbbbbbb$
$
$
ccccccccc$
ddd$
$
eeeeeee$
[root@localhost ~]# cat test.txt | sed '/^$/d;p;p'
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
bbbbbbbbbbbbb
bbbbbbbbbbbbb
bbbbbbbbbbbbb
ccccccccc
ccccccccc
ccccccccc
ddd
ddd
ddd
eeeeeee
eeeeeee
eeeeeee
[root@localhost ~]# 

Если сразу начать следующий цикл, то команда p не будет иметь никакого вывода.

Кто-нибудь может помочь мне объяснить это, пожалуйста? Спасибо.

7
задан sia 31 October 2018 в 19:42
поделиться