使用 sed 时 sed -n '1,2p;3q' 和 sed -n '1,2p;2q' 之间有什么区别

使用 sed 时 sed -n '1,2p;3q' 和 sed -n '1,2p;2q' 之间有什么区别

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

相关内容