sed -n '1,2p;3q'
和之间有什么区别吗?sed -n '1,2p;2q'
我有一个包含三行的文件:
#comment 1
#comment 2
#comment 3
我没有注意到任何差异。两者都只打印出前两行
答案1
据我所知,它们在功能上是等效的。如果你这样做,就会有所不同不是使用-n
手册中所述的选项(重点是我的):
q [exit-code]
Immediately quit the sed script without processing any more
input, except that if auto-print is not disabled the current
pattern space will be printed. The exit code argument is a GNU
extension.
因此,如果没有-n
$ sed '1,2p;2q' file
#comment 1
#comment 1
#comment 2
#comment 2
但
$ sed '1,2p;3q' file
#comment 1
#comment 1
#comment 2
#comment 2
#comment 3