Linux命令sed

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令sed相关的知识,希望对你有一定的参考价值。

sed流编辑器:Stream EDitor

sed行编辑器,使用sed,将文件的行加载到内存,符合sed模式空间的显示到屏幕上,sed默认不编辑文件,仅对模式空间的数据处理,处理结束后,将符合模式空间的行打印到屏幕上

sed模式空间

sed [options选项] ‘AddressCommand‘ file ...

options: 选项,如 -n静默模式,只显示符合条件的行,不显示模式空间的内容
Address: 指的是文件行的地址,如第一行到第10行
Command: 指的是对文件行的操作,删除,打印等
file: 指的是文件的路径
三个点: 可以接多个文件

options

1、-n

静默模式,只显示符合条件的行,不显示模式空间的内容

2、-p

3、-e

-e ‘script‘ -e ‘script‘ 引号里的内容,-e 可以指定多个

4、-r

表示使用扩展的表达式

Address

1、Startline,Endline

startline,开始行,默认是从第一行开始
endline, 结束行,$表示最后一行

2、/RegExp正则表达式/

正则表达式匹配到的行,如 /^root/ 以root开始的行

3、/模式1/,/模式2/

第一次被模式1匹配到的行开始,至第一次被模式2匹配到的行结束中间的所有行

4、LineNumber 行号

5、StartLine,+N

从startline开始,向后N行,共N+1行

Command

1、d:删除符合条件的行

2、p:显示符合条件的行

3、a string:在指定行的后面新加一行,内容为string

4、 i string:在指定行的前面新加一行,内容为string

5、r file文件路径:将指定文件的内容,添加到符合条件的行的后面

6、w file文件路径:将指定范围的内容,另存至指定的文件中

s:查找并替换

s/查找/替换/修饰符

s/ / /g
s# # #g
[email protected] @ @g

修饰符:

g 全局替换
i 忽略大小写

以上是关于Linux命令sed的主要内容,如果未能解决你的问题,请参考以下文章

linux shell sed命令的问题!

linux sed 替换

如何用sed命令替换一行中的某个字符串

sed命令在mac和linux下的区别

关于Linux里的sed命令。

linux之文本内容替换命令sed