sed的基本用法
sed : String EDitor (流编辑器)
行编辑器,逐行处理文本
全屏编辑器(vi)
sed:模式空间
默认不编辑原文件,仅对模式空间中的数据进行处理,处理结束后,将模式空间打印到屏幕
sed 'AddressCommand' file ...
-n 静默模式,不在默认显示模式空间的值
-i 直接修改源文件
-e SCRIPT -e SCRIPT: 可以同时执多个脚本
-f /PATH/TO/SED_SCRIPT file
-r 表示使用扩展正则表达式
Address:
1, Startline, Endline eg:1,100
-1: 倒数第二行
2, /RegExp/
3, /pattern1/,/pattern2/ 第一次被模式1匹配的行开始,至第一次被模式2匹配的行结束,这中间的行
4,LineNumber 指定行
5,Startline +N , 从startline 开始向后N行(共N+1行)
Command:
d 删除符合条件的行
p 显示符合条件的行
a "string": 在符合条件的行后面加一行
i "string" 在指定的行前面添加一行
r file :将指定文件的内容添加至特定行后面
w file : 将地址 指定范围内的内容另存为指定的文件中
s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
加修饰符:
g:全局替换
i:忽略字符大小写
&:模式匹配到的所有
(), \1 后项引用 引用匹配模式的一部分
s###,S@@@亦可以用,