Sed SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具,在1973-1974年期间由贝尔实验室的Lee E. McMahon开发,今天,它已经运行在所有的主流操作系统上了. McMahon创建了一个通用的行编辑器,最终变成为了SED.SED的很多语法和特性都借鉴了ed编辑器.设计之初,它就已经支持正则表达式,SED可以从文件中接受类似于管道的输入,也可以接受来自标准输入流的输入. SED由自由软件基金组织(FSF)开发和维护并且随着GNU/Linux进行分发
sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时它又是面向字符流的,输入的字符流经过Sed的处理后输出.这两个特性使得Sed成为命令行下面非常有用的一个处理工具. sed 参数[-nefr] 动作[function] 文件 选项与参数: -n :使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到
先说明语系对正则表达式的影响 LANG=C:0,1,2,3,4...A,B,C,D...Z a b c d ... z LANG=zh_CN:0,1,2,3,4...a A b B c C d D... z Z因为不同语系用[a-z]筛选的不同,所以出现了特殊符号[:alnum:] : 即0-9,a-z,A-Z,英文大小写字符和数字,[:alpha:] : 即a-z,A-Z,任何英文大小写字符[:digit:] : 即0-9,所有数字[:upper:] :
a(a\或者a\\):在当前行后面加入一行文本sed '/^test/a---->this is a example2' example 在test开头的行下,添加一行新的文本“---->this is a example2” d 删除D 删除模板的第一行i 在当前行上面插入文本h 拷贝模板块的内容到内存中的缓冲区.H 追加模板块的内容到内存中的缓冲区g 获得内存缓冲区的内容,并替代当前模板块中的文本.G 获得内存缓冲区的内容,并追加到当前模板块文本的后面.l 列表不能打印字符的清单.n 读取