linux shell 之 awk sed使用

awk

取数

[root@mysql001 ~]# vi awk.log
1 2 3
a d f
s b n
$0取全部数据
[root@mysql001 ~]# awk '{print $0}' awk.log 
1 2 3
a d f
s b n
$1取第一列
[root@mysql001 ~]# awk '{print $1}' awk.log 
1
a
s
awk 默认识别空格,别的分隔符需要 -F指定
[root@mysql001 ~]# vi awk.log
1,2,3
a,d,f
s,b,n

[root@mysql001 ~]# awk '{print $1}' awk.log 
1,2,3
a,d,f
s,b,n
[root@mysql001 ~]# cat awk.log |awk '{ print $1 }'
1,2,3
a,d,f
s,b,n
[root@mysql001 ~]# cat awk.log |awk -F "," '{ print $1 }'
1
a
s
[root@mysql001 ~]# cat awk.log |awk -F "," '{ print $3 }'
3
f
n
NR取行
[root@mysql001 ~]# cat awk.log |awk -F "," 'NR>2'
NR print 取 具体的行列
[root@mysql001 ~]# cat awk.log |awk -F "," 'NR>1{ print $3 }'
f
n





sed

替换





[root@mysql001 ~]# vi sed.log
4,5,6
q,w,e
a,s,d
z,x,c
替换 a=>aa
[root@mysql001 ~]# sed -i 's/a/aa/' sed.log 
[root@mysql001 ~]# cat sed.log 
4,5,6
q,w,e
aa,s,d
z,x,c
[root@mysql001 ~]# sed  -i "s/aa/aa'/" sed.log
[root@mysql001 ~]# cat sed.log 
4,5,6
q,w,e
aa',s,d
z,x,c
[root@mysql001 ~]# sed  -i "s?aa'?lll?" sed.log
[root@mysql001 ~]# cat sed.log 
4,5,6
q,w,e
lll,s,d
z,x,c
/g 全局替换
[root@mysql001 ~]# sed -i "s/w/q/g" sed.log
[root@mysql001 ~]# cat sed.log 
4,5,6
q,q,e
lll,s,d
z,x,c
在前面每一行追加ooo
[root@mysql001 ~]# sed -i "s/^/ooo&/g" sed.log 
[root@mysql001 ~]# cat sed.log 
ooo4,5,6
oooq,q,e
ooolll,s,d
oooz,x,c
在后面每一行追加
[root@mysql001 ~]# sed -i "s/$/&ooo/g" sed.log 
[root@mysql001 ~]# cat sed.log 
ooo4,5,6ooo
oooq,q,eooo
ooolll,s,dooo
oooz,x,cooo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值