D命令是删除pattern space的第一行,d命令是清空pattern space,一轮sed命令执行结束后,执行哪个呢?我们做个简单的实验:
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;D'
00001
00002
2
00002
00003
3
00003
00004
4
00004
00005
5
00005
00006
6
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;='
00001
00002
2
00003
00004
4
00005
00006
6
[work@ test_sed]$ seq -f"%05g" 1 6 | sed -n ':a;N;p;=;d'
00001
00002
2
00003
00004
4
00005
00006
6