shell合理运用巧妙提取IP地址

本文介绍了一种使用shell命令结合ifconfig与awk工具巧妙提取IP地址及其子网掩码的方法。通过设置特定的字段分隔符,可以精准定位并输出所需的IP地址(如192.168.200.210)及子网掩码(如255.255.255.0)。示例中展示了如何通过多步骤分解命令来理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell合理运用巧妙提取IP地址


[root@XKWB5510 ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4 "/" $NF}'
192.168.200.210/255.255.255.0


其实这句话的意识就是:

[ :]+ 以多个空格或者多个:作为分割符

然后输出第二行的第四列和最后一列值


大家看一下这个分解就明白了

[root@XKWB5510 ~]# ifconfig eth0| awk -F"[ :]+" 'NR==2{print}'
inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0


[root@XKWB5510 ~]# awk -F"[: ]+" '{for(i=1;i<=NF;i++) print i,$i}' <<< " inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0"
1
2 inet
3 addr
4 192.168.200.210
5 Bcast
6 192.168.200.255
7 Mask
8 255.255.255.0


去掉inet前面的空格之后,就成了下面这个,显然多个空格也是一个分隔符

[root@XKWB5510 ~]# awk 'BEGIN{FS="[ :]+"}{for(i=1;i<=NF;i++) print i,$i}' <<< "inet addr:192.168.200.210 Bcast:192.168.200.255 Mask:255.255.255.0"
1 inet
2 addr
3 192.168.200.210
4 Bcast
5 192.168.200.255
6 Mask
7 255.255.255.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值