sed命令简介
sed命令是一个很强大的文本编辑器,可以对来自文件、以及标准输入的文本进行编辑。
执行时,sed会从文件或者标准输入中读取一行,将其复制到缓冲区,对文本编辑完成之后,读取下一行直到所有的文本行都编辑完毕。
所以sed命令处理时只会改变缓冲区中文本的副本,如果想要直接编辑原文件,可以使用-i选项或者将结果重定向到新的文件中。
sed常用操作
为了方便演示,我先建立一个文件,具体操作如下:
- 使用
vim
创建一个sed.txt
文件,并写入一些内容1
vim sed.txt
写入 hi! I'm is a coder.
如图:
2.保存并且退出
按下键盘 esc
退出编辑模式,然后输入 :wq
,保存并退出 vim
编辑器
1、查找某个字符,并替换某个字符
查找 coder
换成 liang
1 | sed -i "s/coder/liang/" ./sed.txt |
结果如图:
2、查找以某字符开头的行,并整行替换
查找 hi
开头的行数,换成 hello
1 | sed -i -e "/^hi/s/^.*$/hello/" ./sed.txt |
结果如图:
3、查找某个字符,在其后边插入字符串
查找 hello
开头的字符串,在后边添加 ! I'm is a coder.
1 | sed -i "/hello/ s/$/! I'm is a coder./" ./sed.txt |
结果如图:
4、在文件末尾新起一行插入字符串
在 hello! I'm is a coder.
的下一行添加 hi! I'm is a programmer.
1 | sed -i "\$a hi! I'm is a programmer." ./sed.txt |
注意: 这里因为 $
符号在双引号内是解释型的关键字,如果外围使用单引号 I'm
又会出现截断问题,所以说我在 ‘$’ 前,加了一个转义字符 \
,达成目的。
结果如图:
结语
本文只记录了一部份的sed用法,其实还有很多种用法,持续更新…