标签:
sed的使用:(流编辑器)
sed: Stream Editor : 行编辑器
sed 模式空间: 默认不编辑原文件,逐行读取原文件中的行到模式空间,对模式空间中的数据进行处理,处理完成后输出打印
sed [option] ‘AddressCommand‘ file...
-n : 不再默认显示模式空间中的内容,只打印符合的内容
-i : 直接修改原文件
-e SCRIPT -e SCRIPT ... : 可以同时执行多个脚本
-f script_file : 使用脚本文件的内容对文件进行处理
-r : 使用拓展正则表达式
Address:
1. Startline,Endline: 1,100 从第1行到100行
2. LineNum: 指定某一行
$ : 表示最后一行, $-1 : 表示倒数第二行
3. Startline,+N : 从指定的起始行开始向后N行
4. /Regexp/ : /^root/ 以root 开头的行
5. /Regexp1/,/Regexp2/ 表示从第一次被Regexp 匹配的行开始到 第一次被Regexp2 匹配到的行结束
Command:
d : 删除符合条件的行
p : 显示打印符合条件的行
a \string : 在指定的行后面追加新行,内容为string
\n:换行
i \string : 在指定的行前面追加新行,内容为string
r file : 将指定文件的内容添加至符合条件的行处
w file : 将符合条件的内容另存至指定的文件中
s/Regexp/string/[gi] : 查找符合模式的行,并将其替换为指定的内容,默认只替换每行中第一次匹配的内容
g : 全局替换
i : 忽略大小写
s/// => s### => s@@@ 分隔符可以使用其他的特殊符合
& : 引用模式匹配的字符串
l..e : like --> liker
love --> lover
sed ‘s/l..e/&r/g‘ /tmp/test.txt
sed ‘s/\(l..e\)/\1r/r‘ /tmp/test.txt
like --> Like
love --> Love
sed ‘s/l\(..e\)/L\1/g‘ /tmp/test.txt
标签:
原文地址:http://www.cnblogs.com/Xhale/p/5105119.html