命令格式:
sed [options] ’AddressCommand’ file …
options:
1、-n:不自动显示模式空间中的内容
2、-i:直接修改原文件
3、-e SCRIPT1 -e SCRIPT2:同时执行多个脚本
4、-f /path/to/scriptfile:从脚本文件中读取操作命令
5、-r:表示使用拓展正则表达式
Address:
1、startline,endline
2、/regexp/
3、/pattern1/, /pattern2/ 第一次被pattern1匹配的行到第一次被pattern2匹配的行
4、linenumber 指定的行
5、$ 最后一行
6、startline,+n 从指定行开始向后的n行(n+1行)
Command:
1. a在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行
2. c用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用”\”续行
3. i在当前行之前插入文本。多行时除最后一行外,每行末尾需用”\”续行
4. d删除行
5. h把模式空间里的内容复制到暂存缓冲区
6. H把模式空间里的内容追加到暂存缓冲区
7. g把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容
8. G把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面
9. l列出非打印字符
10. p打印行
11. n读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
12. q结束或退出sed
13. r从文件中读取输入行
14. !对所选行以外的所有行应用命令
15. y将字符替换为另一字符(不能对正则表达式使用y命令)
16. w将所选的行写入文件
17. x交换暂存缓冲区与模式空间的内容
18. s分隔符pattern分隔符string分隔符 [修饰符] 默认替换每行第一次匹配的地方
1>. 修饰符:
-g:全局替换
-i:忽略大小写
2>. 分隔符
可以替换为其他符号,如s###,s@@@
3>. 后向引用 \(\) —> \1
4>. string不可以是正则(正则一般只用于匹配)
5>. &引用模式匹配整个串