Shell 修改文件内容 sed

sed命令用于修改已有文件的内容。

vim是文件编辑器,通常需要用户多次交互操作完成文件内容的修改。

sed命令是一条命令直接完成修改文件内容。

通常改动都是很小的改动。


1 体验

准备数据:

文件data1.txt,内容如下:

111
222
333
444
555
666

例1:文件的第2行之后添加内容bbb。

sed '2abbb' data1.txt

2abbb说明

第1个字符2表示第2行;

第2个字符a表示添加操作(append);

后续内容bbb表示添加的内容。

img

修改后内容显示在界面,查看文件内容,没有修改

sed命令默认选项不真正修改文件。

体验先到这里。


2 语法

sed 选项 修改命令 文件

针对 文件 进行 修改命令 对应的修改。

修改命令有自己的一套语法。 因为修改命令字符串,要能说明各种修改场景(各种位置/增删改/文本内容等)。

修改命令的语法是我们学习的重点。


3 主要选项

主要选项 说明
-e 默认选项。不修改文件内容,只输出显示。
-i 修改文件内容

4 真正的修改文件

例2:文件的第2行之后添加内容bbb,真正的修改文件。

sed -i '2abbb' data1.txt

-i表示修改后内容不输出到界面,输出到文件,也就是真正修改文件。

img

界面没有输出内容,查看文件内容,已修改。