1、sed命令
1、基础
1、常见的模式
选项 | 作用 |
---|
-n | 预想模式,不输出所有的内容,输出操作的内容 |
-e | 可以执行多个命令-e,-e |
-r | 可以使用正则表达式 |
-f | 可以使用脚本 |
-i | 对源文件进行修改 |
2、常见的动作
动作 | 作用 |
---|
a | 在匹配的行后添加 |
i | 在匹配的行前添加 |
d | 删除指定的行 |
c | 修改指定的行,也就是一整行 |
s | 替换一些关键字,g全局替换 |
p | 打印指定的行 |
! | 取反的动作 |
w | 另存为 |
I | 忽略大小写 |
3、地址定界
符号 | 作用 |
---|
# | 表示数字,指定操作的行数 |
$ | 表示最后一行 |
/字/ | 通过匹配关键字,可以结合正则,大写的I忽略大小写 |
#1,#2 | 指定范围的行数 |
first~step | 1~2,从第一行开始以2为步长 |
addr1,+N | 匹配addr1行,以及后面的N行 |
addr1,-N | 匹配addr1行到N行 |
案例
1、常规匹配
[root@master ~]
q:x:1000:1000:q:/home/q:/bin/bash
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
ROOT:qqq:sdsad:/bin/bash111
[root@master ~]
root:x:0:0:root:root:bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin/root
daemon:x:2:2:daemon:/sbin:/sbin/nologin/root
operator:x:11:0:operator:/root:/sbin/nologin
[root@master ~]
root:x:0:0:root:root:bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin/root
daemon:x:2:2:daemon:/sbin:/sbin/nologin/root
[root@master ~]
root:x:0:0:root:root:bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin/root
daemon:x:2:2:daemon:/sbin:/sbin/nologin/root
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
2、修改
sed -i '1a\qqq\' passwd
#在第二行前面添加aaaa
sed -i '2i\aaaa\' passwd
[root@master ~]
[root@master ~]
[root@master ~]
[root@master ~]
[root@master ~]
[root@master ~]
[root@master ~]
2、grep命令
3、awk命令