【发布时间】:2018-11-01 03:42:40
【问题描述】:
来自 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命令不会有任何输出。
谁能帮我解释一下?谢谢。
【问题讨论】:
标签: sed