linux文本三剑客之sed

目录

1、sed特点

1)sed命令格式

2)sed命令核心功能"增删改查"

2、sed命令执行过程

3、sed核心应用

1)sed-查找p

2)sed-删除d

3)sed-增加cai

4)  sed-替换s


1、sed特点

sed stream editor 流编辑器,sed把处理的内容(文件),当做是水,源源不断的进行处理

直到文件末尾。

1)sed命令格式
命令选项功能
sed-n`-n` 参数是 `sed` 命令的一个选项,它表示禁止自动打印模式空间的内容。sed -n '4,$p' useradd.sh这里的在这个命令中,它的作用是只输出第4行到最后一行的内容,不输出其他行的内容。如果不加 `-n` 参数,`sed` 命令会默认打印所有行的内容,加上 `-n` 参数后可以控制输出的内容,使其更加灵活。
2)sed命令核心功能"增删改查"
功能
s替换
p查找
d删除
c/a/i增加

2、sed命令执行过程

3、sed核心应用

1)sed-查找p
查找格式
'1p’  '2p'指定行号进行查找
'1,5p'指定行号范围查找
'/查找内容/p'类似于grep过滤  //里面可以写正则
'/ 最小范围/,/ 最大范围/p '表示范围的过滤

示例:

取出文件第1行到第3行内容

取出文件第4行到最后一行内容

过滤

过滤,筛选出包含user或者group的字符

过滤筛选出有数字的行

范围过滤

2)sed-删除d
删除格式
'1d’  '2d'去除指定行号进行查找
'1,5d'去除指定行号范围查找
'/查找内容/d'类似于grep过滤  //里面可以写正则
'/ 最小范围/,/ 最大范围/d '表示去除范围的过滤

示例:

删除文件中的空行或者包含#号的行

扩展补充:

!取反

上面这条命令可以写为 sed -r  '/^$|#/!p'  useradd.sh      #遇到空行或者#号的行不显示

3)sed-增加cai
命令含义
aappend追加,向指定的行下面追加内容
iinsert 插入,往指定的行上面插入内容
c修改指定的行内容

示例:

向文件中追加多行内容

还有一个方法就是用cat,比sed命令方便!!!

4)  sed-替换s

s--->替换,sed默认只替换每行第一个匹配的内容

g--->global全局替换,sed替换每行所有匹配的内容

全局替换只替换每行第一个匹配的内容
s###gs###
s///gs///
s@@@gs@@@

示例:

替换的内容,需要保存,使用-i选项