sed一些选项和命令详解

sed一些选项和命令详解

ID:34725639

大小:60.77 KB

页数:8页

时间:2019-03-10

sed一些选项和命令详解_第1页
sed一些选项和命令详解_第2页
sed一些选项和命令详解_第3页
sed一些选项和命令详解_第4页
sed一些选项和命令详解_第5页
资源描述:

《sed一些选项和命令详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。 2.定址定址用于决定对哪些行进行编

2、辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。 地址是一个数字,则表示行号;是“$"符号,则表示最后一行。例如: sed -n '3p' datafile只打印第三行  只显示指定行范围的文件内容,例如:# 只查看文件的第100行到第200行sed -n '100,200p' mysql_slow_query.log 地址是逗号分隔的,那么需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数字、正则表达式、或二者的组合表示。例如:sed '2,5d' datafile#删除第二到第

3、五行sed '/My/,/You/d' datafile#删除包含"My"的行到包含"You"的行之间的行sed '/My/,10d' datafile#删除包含"My"的行到第十行的内容  3.命令与选项sed命令告诉sed如何处理由地址指定的各输入行,如果没有指定地址则处理所有的输入行。 3.1sed命令 命令 功能 a 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“”续行 c 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用""续行 i 在当前行之前插入文本。多行时除最后一行外,每行末尾需用"

4、"续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容 G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理 q 结束或退出sed r 从文件中读取输入行 ! 对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换  w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式

5、使用y命令) 3.2sed选项 选项 功能 -e 进行多项编辑,即对输入行应用多条sed命令时使用 -n 取消默认的输出 -f 指定sed脚本的文件名  4.退出状态sed不向grep一样,不管是否找到指定的模式,它的退出状态都是0。只有当命令存在语法错误时,sed的退出状态才不是0。5.正则表达式元字符 与grep一样,sed也支持特殊元字符,来进行模式查找、替换。不同的是,sed使用的正则表达式是括在斜杠线"/"之间的模式。如果要把正则表达式分隔符"/"改为另一个字符,比如o,只要在这个字符前加一个反斜线,在字符后跟上正则表达式,再跟上这个字

6、符即可。例如:sed-n'o^Myop'datafile  元字符 功能 示例 ^ 行首定位符 /^my/ 匹配所有以my开头的行 $ 行尾定位符 /my$/ 匹配所有以my结尾的行 . 匹配除换行符以外的单个字符 /m..y/ 匹配包含字母m,后跟两个任意字符,再跟字母y的行 * 匹配零个或多个前导字符 /my*/ 匹配包含字母m,后跟零个或多个y字母的行 [] 匹配指定字符组内的任一字符 /[Mm]y/ 匹配包含My或my的行 [^] 匹配不在指定字符组内的任一字符 /[^Mm]y/ 匹配包含y,但y之前的那个字符不是M或m的行 (..

7、) 保存已匹配的字符 1,20s/(you)self/1r/ 标记元字符之间的模式,并将其保存为标签1,之后可以使用1来引用它。最多可以定义9个标签,从左边开始编号,最左边的是第一个。此例中,对第1到第20行进行处理,you被保存为标签1,如果发现youself,则替换为your。 & 保存查找串以便在替换串中引用 s/my/**&**/  符号&代表查找串。my将被替换为**my** < 词首定位符 / 词尾定位符 /my>/ 匹配包含以my结尾的单词的行 x{m} 连续m个x /9

8、{5}/匹配包含连续5个9的行 x{m,} 至少m个x /9{5,}/ 匹配包含至少连续5个9的行 x{m,n} 至少m

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

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

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