sed全名叫Stream EDitor它是一个流式编辑器也就是行编译器,工作是在模式空间中进行的。
sed就是个管线命令;(还可以将数据进行取代、删除、新增、摘取特定行等功能)
用法参数: sed [-nef] [动作] 参数: -n 使用安静模式,(只列出经过sed特殊处理过的某行) -e 直接在指令模式上进行sed的动作编辑; -f 将sed的动作写在一个档案内, -r 动作支持的是正规表达式的语法 动作命令:动作要用引号括起来 p 显示、 d 删除、 s 替换 并且支持 g所有和i不区分大小写、 c 取代、 r 在匹配行后加入内容、 a \: 在模式匹配到的行后面添加新内容、
i \: 在模式匹配到的行前面添加新内容、
w 将匹配到的内容保存在别的文件中、
h 将模式中的内容复制到保留空间 覆盖、
H 将模式中的内容复制到保留空间 追加、
g 将保留空间内容复制到模式空间 覆盖、
G 将保留空间内容复制到模式空间 追加、
n 操作匹配到的下一行,并覆盖匹配到的行、
N 操作匹配到的行并追加到下一行、
b: 跳转、忽略符合模式的行、
x: 保留空间和模式空间对调、
具体操作
sed "4,8d" 文件 (把一个文件中的第4到第8行删除)
sed "4,8!d" 文件 (!取反结果)
sed -n "5,8p" 文件 (显示一个文件的5到8行)
sed "s/被取代的内容/新的内容/g" 文件 (把文件内某些内容用新的替换) sed "2,5p" 文件 (p命令为显示,但是sed默认的也是显示所以加入p命令后结果会显示两遍) sed -n "5n;p" 文件 (覆盖第5行) sed '/[a-z]/d' 文件 (删除有小写字母的行) sed '/#/i \ 123' 文件 (在带有#号的行前加入123)