sed
Table of Contents
1 命令
sed是非交互式的文本编辑器,它不会修改文件,需要将结果重定向到文件保存,默认直接输出到屏幕。 命令格式: sed [选项].. {命令} [输入文件]..
常用选项 -n 取消自动打印 -e 添加命令到程序的运行列表,此选项多重执行 -f 命令以文件的行式提供 -r 命令中使用正则表达式
无选项时,-e被认为是默认参数
2 常用命令及示例
2.1 1.p命令 打印
sed '/my/p' datafile #默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式my,p命 令将把该行另外打印一遍。
sed -n '/my/p' datafile #选项-n取消sed默认的打印,p命令把匹配模式my的行打印一遍。
2.2 2.d命令 删除
sed '$d' datafile #删除最后一行,其余的都被显示
sed '/my/d' datafile #删除包含my的行,其余的都被显示
2.3 3.s命令 替换,格式:s/regexp/replacement/
sed 's/My/You/g' datafile #命令末端的g表示在行内进行全局替换,也就是说如果某行出现多个My,所有的My都被替换为You。
sed -n '1,20s/My$/You/gp' datafile #取消默认输出,处理1到20行里匹配以My结尾的行,把行内所有的My替换为You,并打印到屏幕上。
sed 's#My#Your#g' datafile 无论什么字符(换行符、反斜线除外),只要紧跟s命令,就成了新的串分隔符。
sed 's,\(a.o\) \(1.o\),&:\1.c:\2.c,g' test &为匹配的内容,\1到\9为分别为()内的内容
参考:http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html