Chinaunix首页 | 论坛 | 博客
  • 博客访问: 504386
  • 博文数量: 401
  • 博客积分: 244
  • 博客等级: 入伍新兵
  • 技术积分: 2215
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-04 10:02
文章分类

全部博文(401)

文章存档

2013年(37)

2012年(364)

分类:

2012-09-25 16:52:05

原文地址:sed操作中的-n p 作者:随1意2o

初学者的问题
之前一直不了解为什么存在-n和p这两个恰好对立的参数,命令
以下例子,可以较好的诠释一下

这一个输出的文章的全部内容,可是我们想要的只是匹配替换的内容
panda@panda-pc:~/Code/Shell$ sed 's@http://[a-z]*.5566.cn@/home/html/' http_sed
/home/html/
/home/html/
/home/html/
要求如下:将http://*.5566.cn/替换成/home/html/,要求用sed,看大家做下
sed 's#http://[a-z]*.5566.cn#/home/html/#g'

sed 's#http://[a-z]*.5566.cn#/home/html/#g'
sed 's@http://[a-z]*.5566.cn@/home/html/'


这个,就是只输出匹配替换的行,简单明了,使用-n,p可以选择性的获得你想要的数据
panda@panda-pc:~/Code/Shell$ sed -n 's@http://[a-z]*.5566.cn@/home/html/p' http_sed
/home/html/
/home/html/
/home/html/

当然如果你要打印你想要的行
使用 sed -n '7p'
等同于使用 sed '7q'(q只适用于输出文件的前几行??)

阅读(519) | 评论(0) | 转发(0) |
0

上一篇:awk的字符串函数substr

下一篇:awk中getline的

给主人留下些什么吧!~~