曲径通幽论坛

标题: -n 选项 与 p 命令 [打印本页]

作者: beyes    时间: 2011-8-27 10:31
标题: -n 选项 与 p 命令
-n 选项可以阻止输入行的自动输出。

如果不用 -n 选项,那么所有的输入行都会在 sed 命令执行完毕后打印在屏幕上,如:
$ cat test.txt
groad
welcome to groad.net
qunet
welcome to qunet.info
web
my website is very good.
对上面文本使用 sed 命令:
$ sed -e 's/groad/Groad/' -e 's/qunet/Qunet/' test.txt
Groad
welcome to Groad.net
Qunet
welcome to Qunet.info
web
my website is very good.
可见,文本中所有的行都被输出来,包括经过 sed 处理过和未处理过的。

当使用 -n 选项时,这些输出会被阻止:
$ sed -n -e 's/groad/Groad/' -e 's/qunet/Qunet/' test.txt

如果只想看到 's/groad/Groad/' 这一处理结果的输出,那么可在其后加上 p 命令,强制其将处理结果打印出来,如:
$ sed -n -e 's/groad/Groad/p' -e 's/qunet/Qunet/' test.txt
Groad
welcome to Groad.net
在两个替换命令后面都加上 p 命令那么所有的处理结果都会被打印出来:
$ sed -n -e 's/groad/Groad/p' -e 's/qunet/Qunet/p' test.txt
Groad
welcome to Groad.net
Qunet
welcome to Qunet.info





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2