Shell脚本之sed篇

Shell脚本之sed篇

ID:33303887

大小:283.91 KB

页数:38页

时间:2019-02-24

Shell脚本之sed篇_第1页
Shell脚本之sed篇_第2页
Shell脚本之sed篇_第3页
Shell脚本之sed篇_第4页
Shell脚本之sed篇_第5页
资源描述:

《Shell脚本之sed篇》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Shell脚本之sed篇2012-06-2421:19:49标签:正则表达式脚本shellsed文本处理原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://manual.blog.51cto.com/3300438/908002Shell脚本之sed篇目录:一、概述二、sed基本语法格式三、简单正则表达式四、sed脚本指令(注释、替换、删除、追加、打印、下一行、读写文件、退出、多行模式)五、综合案例一、概述1.sed是一款流编辑工具,用来对文本进行

2、过滤与替换工作,特别是当你想要对几十个配置文件做统计修改时,你会感受到sed的魅力!sed通过输入读取文件内容,但一次仅读取一行内容进行某些指令处理后输出,所以sed更适合于处理大数据文件。2.sed流程:*通过文件或管道读取文件内容。*sed并不直接修改源文件,而是将读入的内容复制到缓冲区中,我们称之为模式空间(patternspace)。*根据sed的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出即屏幕上。输入-----------------------------------------

3、-------

4、

5、vv读取一行内容,并复制到模式空间<------------sed指令

6、

7、vv------------------------------------------------输出经过处理后的内容*****************************************************************************************************二、sed基本语法结构sedOptions...[script][inputfile...]sed选

8、项...[脚本指令][输入文件]如果没有输入文件,则sed默认对标准输入进行处理(即键盘输入)。脚本指令是第一个不以“-”开始的参数。1.选项含义:--version显示sed版本。--help显示帮助文档。-n,--quiet,--silent静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后,将自动打印模式空间中的内容,这些选项可以屏蔽自动打印。-escript允许多个脚本指令被执行。-fscript-file,--file=script-file从文件中读取脚本指令,对编写自动脚本程序来说很棒!

9、-i,--in-place直接修改源文件,经过脚本指令处理后的内容将被输出至源文件(源文件被修改)慎用!-lN,--line-length=N该选项指定l指令可以输出的行长度,l指令用于输出非打印字符。--posix禁用GNUsed扩展功能。-r,--regexp-extended在脚本指令中使用扩展正则表达式-s,--separate默认情况下,sed将把命令行指定的多个文件名作为一个长的连续的输入流。而GNUsed则允许把他们当作单独的文件,这样如正则表达式则不进行跨文件匹配。-u,--unbuffere

10、d最低限度的缓存输入与输出。2.简单案例:以上仅是sed程序本身的选项功能说明,至于具体的脚本指令(即对文件内容做的操作)后面我们会详细描述,这里就简单介绍几个脚本指令操作作为sed程序的例子。a,append追加i,insert插入d,delete删除s,substitution替换案例说明:灰色背景的内容为待处理的源文件,红色字体的文字为sed脚本,蓝色字体的文字为处理后的结果输出。这里test.txt为样本文件:[jacob@localhost~]#cattest.txtDEVICE=eth0ONBOO

11、T=yesBOOTPROTO=staticIPADDR=192.168.0.1NETMASK=255.255.255.0GATEWAY=192.168.0.254[jacob@localhost~]#sed'2aTYPE=Ethernet'test.txt第二行后添加TYPE=Ethernet[jacob@localhost~]#sed'3iTYPE=Ethernet'test.txt第三行前添加TYPE=Ethernet[jacob@localhost~]#sed's/yes/no/g'test.txt将样

12、本文件中的所有yes替换为no[jacob@localhost~]#sed'3,4d'test.txt删除第3至4行的内容以上大多数操作指令,都依据行号定位操作对象(地址),如:2a即第二行后添加。但实际情况可能大多数情况你并不确定你要操作对象(地址)的行号,这时更多的我们会使用正则表达式确定操作对象(地址)。下面是使用正则表达式定位操作行的示例:[jacob@localhost~]#sed'/ON

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。