sed工具命令学习笔记

sed是非交互式的编辑器,它不会修改文件,除非利用shell重定向,如果需要修改原文件,可使用-i选项

sed工作流程:sed将正在处理的行存在一个临时缓冲区中,然后处理,处理结束后将其发送到屏幕上,并将其在临时缓冲区中删除掉,再读取下一行,全部读取完后sed退出。可以看出sed是对副本进行编辑,所以并不会修改原文件。

可以利用nl显示行号,方便进行操作

1.d 删除

: nl filename | sed 'n1d' 删除第n1行

而 sed -i 'n1d' filename 则表示删除原文件的第n1行

2.a表示在行后加上字符串,i则表示在行前加上。

nl  filename | sed '2a string'

nl filename | sed '2i string'

nl filename | sed '2i string\string'表示加入了两行字符串,\n表示换行符

3.c为替换内容选项

nl filename | sed '2,5c lu ben wei niu bi'

将第2行至第五行替换成xxx牛逼

4.p列出选择的行内容

nl filename | sed '5,7p' 则会重复打印5~7行

而添加了-n参数后,则直接列出5~7行

5.替换字符串

sed 's/被替换字符串/新字符串/g'

猜你喜欢

转载自blog.csdn.net/baconc/article/details/81072039
今日推荐