插入,追加,修改操作:
追加命令 a\ 在满足条件的行后边添加
插入 i\ 在满足条件的行前边添加
更改 c\ 更改满足条件的行
文本如下:
this is line1
this is line2
this is line3
脚本如下:
/line1/i\
Article begin
最终结果:
$ sed -f prj1.sed prj1.txt
Article begin
this is line1
this is line2
this is line3
追加的样例:
/line3/a\
Article end
$ sed -f prj1.sed prj1.txt
this is line1
this is line2
this is line3
Article end
也可以结合起来使用:
/line1/i\
Article begin
/line3/a\
Article end
$ sed -f prj1.sed prj1.txt
Article begin
this is line1
this is line2
this is line3
Article end
更改的脚本:
/line3/c\
line4
$ sed -f prj1.sed prj1.txt
this is line1
this is line2
line4
接着来看下转换的用法。还是这个文档。预期将第一个字母变成大写
this is line1
this is line2
this is line3
脚本如下:
y/t/T/
$ sed -f prj1.sed prj1.txt
This is line1
This is line2
This is line3
也可以转换多个字母:
y/thl/THL/
$ sed -f prj1.sed prj1.txt
THis is Line1
THis is Line2
THis is Line3
打印命令p: 功能是打印匹配模式空间的行
/line1/p
可以看到line1的行出现了两次
$ sed -f prj1.sed prj1.txt
this is line1
this is line1
this is line2
this is line3
另外还有一个=可以打印行号
/line1/{
=
p
}
$ sed -f prj1.sed prj1.txt
1
this is line1
this is line1
this is line2
this is line3