Shell正则表达式取IP地址

本文介绍如何在Shell中利用正则表达式匹配并提取IP地址,特别是针对虚拟服务器和带有特定网卡名如em1或bond的情况。

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

Shell正则表达式匹配取IP地址

  • 演示服务器为虚拟服务器:
[root@GaoServer ~]# ifconfig 
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.47.140  netmask 255.255.255.0  broadcast 192.168.47.255
        inet6 fe80::20c:29ff:fe73:14b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:01:4b  txqueuelen 1000  (Ethernet)
        RX packets 991  bytes 81056 (79.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 474  bytes 64248 (62.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 取IP地址:
[root@GaoServer ~]# ifconfig eno16777736 | grep -Eoe "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" -Eoe '^(e|b)[[:lower:]]+[[:digit:]]+?'
eno16777736
192.168.47.140
255.255.255.0
192.168.47.255
  • 部分物理服务器以em1,或bond等网卡名,可根据需求修改;
    主要以正则:
    (([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])来过滤合理IP地址;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值