sed 用法笔记
sed就用不着多做介绍了,非常强大的流编辑器,以行作为处理单位。另外还有一个神器awk可以非常方便的处理列 。平常可能觉得用用cat,more,tail,vi也差不多,但是如果遇到非常巨大的log文件,sed就会比较方便了。高级(我能说差点打成搞基了么。。。对这个世界绝望了。。)的用法基本也用不上,就记录下基本的命令什么的。。 *准备示例文件* ``` $cat passwd 1a 2b 3c 4d 5e 6f ``` 基本用法 -- * 显示第2行 ``` $sed -n '2p' passwd 2b ``` * 显示1到3行 ``` $sed -n '1,3p' passwd 1a 2b 3c ``` * 匹配模式 ``` $sed -n '/c/'p passwd 3c ``` * 行号加模式匹配 >以下例子表示从第二行开始匹配到有c的行结束;如果如果第二行就有c,或者一直没有匹配到带c的行,则从第二行输出到行尾; ``` $sed -n '2,/c/'p passwd 2b 3c ``` * 打印匹配行行号 ``` $sed -n '/b/=' passwd 2 ``` * 显示整个文件 ``` $sed -n '1,$p' passwd 1a 2b 3c 4d 5e 6f ``` 删除文本 -- * 删除行 ``` $sed '1d' passwd #删除第一行 $sed '1,3d' passwd #删除第一行到第三行 $sed '2,$d' passwd #第二行到末尾所有行 $sed '$d' passwd #删除passwd文件的最后一行 ``` * 删除匹配行 ``` $sed '/b/d' passwd $sed -n '/BEGIN/,/END/d' passwd ``` 替换文本 -- ``` 格式:[address[,address]]s/pattern-find/replacement-pattern/[g,p,w,n] n 1到512之间的一个数字,表示对本模式中指定模式第n次出现的情况进行替换 g 对模式空间所有出现的情况进行全局更改【缺省只替换首次出现的模式 】 p 打印模式空间的内容 w file ``` * 全局替换 ``` $sed 's/b/x/g' passwd #将b替换成x ``` 附 [sed 简明教程][1] [1]: http://coolshell.cn/articles/9104.html
作者:sylarinfo
出处:博客园sylarinfo的技术博客--http://www.cnblogs.com/sylarinfo/
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文如未在开头表明转载,则版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。