sed基本用法
stream Editor
一次只读一行(以换行符为一行\n), sed进程从内核缓冲区当中一次加载一行到sed自己内部的存储空间(sed模式空间),然后完成编辑,并把编辑的结果输出屏幕
sed命令:
sed [options] "script" FILE ....
选项:
-n: 静默模式,不输出模式空间中的内容(默认清空sed首先打印出模式空间中没有修改过的内容,然后再打印出修改过的内容)
-r : 使用扩展的正则表达式
-f /path/to/sed_script_file: 指定sed脚本文件
-e 'script' -e 'script' :指定多个编辑命令
-i:对原文件修改
编辑命令:
d:删除
p:打印
i \text: 在匹配到的行的上一行插入内容
a \text:在匹配到的行的下一行插入内容
r /path/to/somefile:在指定位置把另外一个文件的内容插入进行
w /path/to/somefile:将符合条件的所有行保存至指定的文件中
=:显示符合条件的行的行号
s///:查找替换
地址定界:
startline,endline
1,3 从第1行到第3行
正则表达式:
基本的:
字符:
.
[]
[^]
次数:
*
\?
\{m,n\}
锚定:
^
$
\<,\b
\>,\b
分组:
\(\)\
引用:
\1, \2
/pattern1/,/pattern2/ 从模式1到模式2的中间所有行
/pattern/ 被此模式匹配的行
扩展:
次数:
*
?
+
{m,n}
或:
a|b
分组:
()
sed '地址定界s@查找条件@替换文本@'
修饰符:
g:global,全局替换
i: 不区分字符大小写