功能说明:sed是操作、过滤和转换文本内容的强大工具。常用功能包括对文件实现快速增删改查(增加、删除、修改、查询),其中查询的功能中最差用的两大功能是过滤指定字符串、取出指定行。
参数选项:
-n 取消默认的sed的输出,常与sed内置命令的p连用。
-i 直接修改文件内容,而不是输出到终端。如果不适用 -i 选项,则sed只是修改内存中的数据,并不会影响磁盘上的文件。
sed的内置命令字符
a 全拼append,表示追加文本,在指定行后添加一行或多行文本。
d 全拼delete,表示匹配行的文本。
i 全拼insert,表示插入文本,在指定行前添加一行或多行文本。
p 全拼print,表示打印匹配行的内容,通常p会与选项-n一起使用。
s/regexp/replacement/ 匹配regexp的内容,用replacement替换regexp匹配的内容,regexp部分可以使用正则表达式,在replacement部分可以使用特殊字符 & 和 1-9 等匹配regexp部分的部分内容。 s/regexp/replacement/ 结尾常与g匹配做全局的替换。
在文件制定位置行后追加文件
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/85db6c63-725b-4ce8-90a6-04a0493bf0a9.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223057244-1189156418.png)
在文件指定的行前插入文件
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/764b2b08-b1fc-461d-a087-b5bf9e3d9eba.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223103320-766006979.png)
在指定行后最近多行文本
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/983446ad-605b-4d76-b04e-a422a6781428.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223110563-844517543.png)
删除文件中一行指定的文本
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/34c0fb19-10a8-408c-b8d4-fd0da8dbcc9f.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223118403-1590770224.png)
删除文件中指定的多行文本
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/cae9fcd3-6ab3-4cf2-aa4a-d6681fe00858.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223124586-1937343752.png)
使用sed命令替换文本内容
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/1c301135-70db-4179-9c81-ac336d210d15.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223134337-1270156445.png)
打印输出文件的指定行的内容
![](file:///D:/%E7%94%A8%E6%88%B7%E7%9B%AE%E5%BD%95/%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3/My%20Knowledge/temp/42336653-bf2c-4317-aa47-3086a493703c/128/index_files/9b12c96c-db00-42d5-b9c2-c0b0ac086bf2.png)
![](https://images2018.cnblogs.com/blog/520685/201808/520685-20180803223148770-1175620910.png)