sed 流编辑器
也叫行编辑器
将所需要得行拿到模式空间编辑,而后处理结束后,将模式空间输出到屏幕
sed【 options】 ‘address command’ file …
options : -n 表示不显示模式空间得内容
-i 直接替换原文件
-e SCRIPT -e SCRIPT : 可以同时执行多个脚本
-f /PATH/TO/SED_SCRITP 用多个脚本修改
sed 地址 参数 文件
地址
1.
startLine ,EndLine
比如1,100
例句 sed ‘1,2d’指定文件
$ 最后一行 $-1 倒数第一行
1.
/RegExp/ 正则表达式
2.
/pattern1/, /pattern2 第一次pattrn1匹配到得行开始,到第一次pattrm2被匹配到结束
3.
LineNumber 精确指定得行
4.
StarLine,+n 从指定行开始向后N行
Command
*
d 删除符合条件得行
*
例句: sed “1,2d” /etc/fstab
*
p 显示符合条件得行
*
a \string : 再符合条件得行,追加新得新行,
*
i \ string: 在符合条件得行添加新得行。内容为string
*
r FILE 将指定文件内容添加符合条件得行后
*
w FILE 将地址指定范围内得行 另存到指定得文件中
*
s 查找并替换 /pattern/string/修饰符 格式s/// pattern 支持 正则表达式
默认指定第一行匹配到的字符串
所有的替换加修饰符
格式:
g 全局替换
i 忽略大小写
除了可以使用///格式还可以使用以下格式
s ### s@@@ 可使用3个相同的分隔符
例句
sed ‘s@/@#@g’ /etc/passwd
s代表替换。查找到/替换为# g全局替换
&:模式匹配到的所有字符 列如 sed 's#(l…e)#\1r#g