曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2976|回复: 0
打印 上一主题 下一主题

-n 选项 与 p 命令

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2011-8-27 10:31:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
-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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 20:23 , Processed in 0.106355 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表