一、前言
之前说了一下Linux的文本常用处理指令 awk和 grep,本篇博客来说一下另外一个文本处理常用指令 —— sed。
二、含义及用法
sed可以实现从文件中读取内容,并且按照指定的规则对文本进行替换、删除、插入等操作,最终输出到终端或写入到文件中,下面先来看一下sed的用法举例:
首先来看文件的原始内容:
目前要实现的功能是:
在第一行后新增一行,并添加语句:then do some practices!
sed的指令是:
sed -i ‘1a\ then do some practices!’ /testTempTxt5.txt
sed -i '1a\ then do some practices!' /testTempTxt5.txt
首先看一下执行结果:
如上图所示,指令成功地实现了需求,细心地话可以发现,指令的执行步骤和vim文本编辑器很像,实际上,sed就是将文本编辑器vim的执行步骤,简化成指令来执行,例如在上例中,指令所执行的步骤如下图所示:
可以发现sed指令还是很强大的~ 将一连串vim指令压缩为一条命令执行, 简而言之,在vim编辑器中使用到的命令,均可应用到sed指令中,下一小节会再进行举例。
三、用法列举
① d 参数
文件还是采用第二章节使用的文本,目前输入如下指令:
sed -i ‘2d’ testTempTxt5.txt
sed -i '2d' testTempTxt5.txt
首先看一下执行结果:
该指令的执行步骤如下图所示:
② s参数 g参数
输入如下指令:
sed -i ‘s/this/THIS/g’ testTempTxt5.txt
该指令的执行步骤如下图所示:
读者可以将vim编辑器的命令与sed指令相结合,去实现更多元化的文本操作。