sed、awk、grep

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~step1~2,从第一行开始以2为步长
addr1,+N匹配addr1行,以及后面的N行
addr1,-N匹配addr1行到N行

案例

1、常规匹配
#匹配特殊字符,匹配/bin/bash或者/root这2个字都显示出来,行的形式来形式出来
#格式为 \%字%动作
[root@master ~]# sed -n '\%/bin/bash%,\%/root%p' passwd 
q:x:1000:1000:q:/home/q:/bin/bash
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
ROOT:qqq:sdsad:/bin/bash111

#匹配root这个字
[root@master ~]# sed -n '/root/p' passwd 
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

#匹配1到3行
[root@master ~]# sed -n '1,3p' passwd 
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

#使用正则表达式来匹配,模式要带上r才行
#匹配以root开头或者lp开头的字显示出来
[root@master ~]# sed -nr '/^root/,/^lp/p' passwd 
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、修改
#在第一行后面一行添加qqq
sed -i '1a\qqq\' passwd
#在第二行前面添加aaaa
sed -i '2i\aaaa\' passwd

#匹配qqqq字的后一行添加字段,注意是\\的,//这样的话,会将//添加进去
[root@master ~]# sed -i '/qqqq/a\ttttt\' passwd

#将root替换为tttt,全局的替换
[root@master ~]# sed -i 's/root/tttt/g' passwd

#替换第一行的第二个root为tt
[root@master ~]# sed -i 's/root/tt/2' passwd

#将第四行的第一个root替换成ttt
[root@master ~]# sed -i '4s/root/ttt/' passwd

#替换/qqqq/字变成空
[root@master ~]# sed -i 's/\/qqqq\///g' passwd

#删除空行
[root@master ~]# sed -ir '/^$/d' passwd 

#将匹配到/oooo/整行修改
[root@master ~]# sed -i '/\/oooo\//c\rrrrr\' passwd


2、grep命令

3、awk命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值