目录
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选项