Из документации 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 не будет иметь никакихвыход.
Кто-нибудь может помочь мне объяснить это, пожалуйста?Спасибо.