原创

Linux下常用的sed命令

sed命令简介

sed命令是一个很强大的文本编辑器,可以对来自文件、以及标准输入的文本进行编辑。
执行时,sed会从文件或者标准输入中读取一行,将其复制到缓冲区,对文本编辑完成之后,读取下一行直到所有的文本行都编辑完毕。
所以sed命令处理时只会改变缓冲区中文本的副本,如果想要直接编辑原文件,可以使用-i选项或者将结果重定向到新的文件中。

sed常用操作

为了方便演示,我先建立一个文件,具体操作如下:

  1. 使用 vim 创建一个 sed.txt 文件,并写入一些内容
    vim sed.txt
    

写入 hi! I'm is a coder.
如图:
file

2.保存并且退出
按下键盘 esc 退出编辑模式,然后输入 :wq ,保存并退出 vim 编辑器

1、查找某个字符,并替换某个字符

查找 coder 换成 liang

sed -i "s/coder/liang/" ./sed.txt

结果如图:
file

2、查找以某字符开头的行,并整行替换

查找 hi 开头的行数,换成 hello

sed -i -e "/^hi/s/^.*$/hello/" ./sed.txt

结果如图:
file

3、查找某个字符,在其后边插入字符串

查找 hello 开头的字符串,在后边添加 ! I'm is a coder.

sed -i "/hello/ s/$/! I'm is a coder./" ./sed.txt

结果如图:
file

4、在文件末尾新起一行插入字符串

hello! I'm is a coder. 的下一行添加 hi! I'm is a programmer.

sed -i "\$a hi! I'm is a programmer." ./sed.txt

注意: 这里因为 $ 符号在双引号内是解释型的关键字,如果外围使用单引号 I'm 又会出现截断问题,所以说我在 '$' 前,加了一个转义字符 \ ,达成目的。

结果如图:
file

结语

本文只记录了一部份的sed用法,其实还有很多种用法,持续更新...

正文到此结束
本文目录