博客导读网 |
一个让你随便看看的地方 |
sed命令使用详解推荐LinuxPig.com |
||
1 sed 流编辑器1.1 什么是sed?流编辑器 是用来从文件读取文本或者从管道实现基本的变化。结果送到标准输出。 sed 命令的语法不指定输出文件,但是结果可以通过使用输出重定向来写入到文件中。编辑器并不改变原来的文件。 sed 和其它编辑器比如 vi 和 sed的区别在于它能够过滤来自管道的输入。在编辑器运行的时候你不要去干涉它;所以 sed常常被称作 批编辑器 。此特性允许你在脚本中使用编辑命令,极大的方便了重复性编辑任务。当面对文件中大量的文本替换的时候, ed 将是一个极大的帮助。 1.2 sed命令a\ 在当前行后面增加文本。 c\ 用新的文本替换当前行。 d 删除文本。 i\ 在当前行之前插入文本。 p 打印文本。 r 读取一个文件。 s 搜索并且替换文本。 w 写入一个文件。 1.3 打印包含pattern的行
1.4 删除包含pattern的行
1.5 行的范围
1.6 查找替换
1.7 多个查找替换命令用单独选项 -e 来隔开
1.8 输出保存到文件,使用重定向
1.9 练习
1.10 答案
特别解释一下: a*与a.*的区别,a*表示匹配a,aa,aaa,aaaa-–,而a.*表示匹配a后的任意多个字符,如aa,ab,acgx0 a.*b$ 匹配 a 和 b 中间有任何字符的情况 a*b$ 匹配 a 和 b 中间有任意个a的情况 1.11 字符元集^ 锚定行的开始 如:/^sed/匹配所有以sed开头的行。 $ 锚定行的结束 如:/sed$/匹配所有以sed结尾的行。 . 匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。 * 匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。 [] 匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。 [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。 (..) 保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。 & 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。 < 锚定单词的开始,如:/<love/匹配包含以love开头的单词的行。 > 锚定单词的结束,如/love>/匹配包含以love结尾的单词的行。 x{m} 重复字符x,m次,如:/0{5}/匹配包含5个o的行。 x{m,} 重复字符x,至少m次,如:/o{5,}/匹配至少有5个o的行。 x{m,n} 重复字符x,至少m次,不多于n次,如:/o{5,10}/匹配5–10个o的行。 您可能感兴趣的文章 |
||
| 原文地址:http://item.feedsky.com/~feedsky/LinuxPig_com/~8174374/368946446/6278143/1/item.html |
| © 2010 博客导读网 BlogABC.NET 本站所有内容皆由网友推荐而来,所有博文的版权归原作者所有,如有冒犯,请邮件告知。uncracker#gmail.com |