个人技术分享

目录

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
命令 含义
a append追加,向指定的行下面追加内容
i insert 插入,往指定的行上面插入内容
c 修改指定的行内容

示例:

向文件中追加多行内容

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

4)  sed-替换s

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

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

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

示例:

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