这是以下产品的手册页条目-n
:
-n
禁止自动打印图案空间
我注意到,当不使用-n
对某些操作,每行被打印到标准输出(和所请求的线被印刷两次):
$ cat test.txt
first
second
third
fourth
fifth
$ sed -n '2,3p' test.txt
second
third
$ sed '2,3p' test.txt
first
second
second
third
third
fourth
fifth
但是,该法律不适用于其他命令:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
那么究竟是-n
什么呢?
-n
特别要求的sed会打印出每一行,除了特别要求的那些行。因此,在那种情况下,-n
抑制了所解析的每一行的打印。但是,在第三个和第四个示例中,行为是不同的。在那些情况下-n
,不使用sed 不会输出两次行,因此使用-n
不会抑制已解析的每行的打印,而是会抑制未更改的行的打印。我很难概括何时该行为将是另一种。