linux(awk的使用)

       正则表达式:正则表达式

        sed的使用:linux(sed的使用)_梦有一把琐的博客-CSDN博客

        grep的使用:

 awk:

  • 抓取文本内容
-F指定分割符
-v定义或修改一个awk的内部变量
$0整行
$n第n列
NF
$(NF-n)倒数第一列
NR行号
~/abc/模糊匹配,==/abc/精确匹配

取第二行的第三列:

[root@test_7 ~]# ip a | awk 'NR==2{print $3}' 
brd

取第二行和第三行:

[root@test_7 ~]# ip a | awk 'NR==2,NR==3' 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

取第二行和第六行:

[root@test_7 ~]# ip a | awk 'NR>1&&NR<7' 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

抓取指定字符串:

[root@test_7 ~]# ip a | awk '/inet /'
    inet 127.0.0.1/8 scope host lo
    inet 192.168.200.150/24 brd 192.168.200.255 scope global eth0

删除以inet开头的字符:

[root@test_7 ~]# ip a | awk '!/^.*inet /'
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:ff:b8 brd ff:ff:ff:ff:ff:ff
       valid_lft forever preferred_lft forever
    inet6 fe80::dcbe:188e:dfaa:7fc/64 scope link 
       valid_lft forever preferred_lft forever

取第一列、第三列、最后一列,显示行号:

[root@test_7 ~]# ip a | awk '{print NR,$1,$3,$NF}'
1 1: <LOOPBACK,UP,LOWER_UP> 1
2 link/loopback brd 00:00:00:00:00:00
3 inet scope lo
4 valid_lft preferred_lft forever
5 inet6 scope host
6 valid_lft preferred_lft forever
7 2: <BROADCAST,MULTICAST,UP,LOWER_UP> 1000
8 link/ether brd ff:ff:ff:ff:ff:ff
9 inet brd eth0
10 valid_lft preferred_lft forever
11 inet6 scope link
12 valid_lft preferred_lft forever


取eth0的ip:

[root@test_7 ~]# ifconfig | awk 'NR==2{print $2}'
192.168.200.150

抓取ip a中的ip:

[root@test_7 ~]# ip a | awk '/inet /' | awk 'NR==2{print $2}'
192.168.200.150/24

把UID大于1000的用户打印出来:

[root@test_7 ~]# cat /etc/passwd | awk -F: '$3>1000{print $1}'
test01

打印UID小于10,且登录为bash的用户:

[root@test_7 ~]# cat /etc/passwd | awk -F: '$3<10 && $NF~/bash/{print $1}'
root

[root@test_7 ~]# cat /etc/passwd | awk -F "[:/]" '$3<10 && $NF=="bash"{print $1}'
root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦有一把琐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值