快速业务通道

(六)sed的使用方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-03

Sed 即stream editor是一种流编辑器(行编辑器)不改变源文件的内容,非交互式编辑器,只是把文件按行读到模式空间中处理,没有破坏性.

Sed支持sed脚本,支持正则表达式,其用法如下:sed 【options】 address command filename.例如查找替换功能sed “1,13s/wang/wong/g” /etc/passwd这只是修改模式空间的内容并显示于屏幕,对于源文件没有改动.Sed –i修改源文件,sed‘1,3d’删除1到3行的字符,sed ‘1d’filename删除第一行的字符.

另外sed支持正则表达式,sed ‘ /正则表达式/command’ filename指定被匹配到的行,例如:sed ‘1/regexp/d’ filename 删除第一行到第一次匹配到正则表达式之间的行,sed ‘0/regexp/d’ filename 删除第一行到一次匹配到正则表达式的行.Sed还支持选行和指定范围,譬如:1~2从第一行开始隔一行选一行,3~4从第三行开始隔三行选一行.10, 9从第10行开始向下选9行.Command:sed ‘1,3p’ /etc/passwd打印第1到3行并和全文显示在屏幕上,通常和-n一起使用,sed -n ‘1,3p’ /etc/passwd只显示打印的行即只显示1到3行.Sed ‘1,3 !d’ /etc/passwd只显示第1到3行,在指定的地址后加上!表示地址取反.Sed ‘1a’this is a new line filename在文件的第一行新增一行,sed ‘/正则表达式/a how are you’filename在正则表达式之后新增一行,另外把a换成i就可以在对应行之前新增一行.Options:-e可以让sed运行多个命令sed –e ‘/正则表达式/a how are you’filename –e ‘/正则表达式/d’filename一次执行多个命令并显示,在匹配到的行后新加一行并删除匹配到的行.

Sed ‘s/regexp/regexp/g’全局替换,i在查找替换不进行区分大小写.-f filename医用文件,可以把sed之后的命令放进一个文件中,每个命令一行,然后用sed –f filename可以视为多次读取并编辑文件.-r可以引用扩展正则表达式.Sed ‘s/[1-9][1-9][1-9]/&.5/g’ filename.&用于引用前面整个匹配到的正则表达式.

本文出自 “hh_linux” 博客,请务必保留此出处http://hhwong.blog.51cto.com/2991901/569769

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号