linux正则调取ip地址,在linux下如何用正则表达式执行ifconfig命令,只提取IP地址!(示例代码)...

方法太多,先简单到简捷循序渐进。

1、

[[email protected] ~]# ifconfig eth0|grep ‘inet addr:‘    ###过滤不是IP地址的行

inet addr:192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0

或者

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘    ###过滤不是IP地址的行

inet addr:192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘|sed -n ‘s#^.*dr:##gp‘

192.168.16.100  Bcast:192.168.16.255  Mask:255.255.255.0  ###已经去掉IP地址头部了。

[[email protected] ~]# ifconfig eth0|sed -n ‘2p‘|sed -n ‘s#^.*dr:##gp‘|sed -n ‘s#B.*$##gp‘

###去掉IP地址尾巴。

192.168.16.100

2、    用grep或sed &&cut 组合提取

ifconfig eth0|grep "inet addr:"|cut -d":" -f2|cut -d" " -f1

ifconfig eth0|grep "inet addr:"|cut -f2 -d":"|cut -f1 -d" "

ifconfig eth0|grep "inet addr:"|cut -d: -f2|cut -d" " -f1

ifconfig eth0|sed -n ‘2p‘|cut -c21-35

3、    用grep或sed &&awk 来提取

ifconfig eth0|grep "inet addr"|awk -F‘[ :]+‘ ‘{print $4}‘

ifconfig eth0|sed -n ‘/inet addr/p‘|awk -F‘[: ]+‘ ‘{print $4}‘

4、    直接用sed正则表达式来匹配

ifconfig eth0|sed -rn ‘s#^.*dr:(.*)B.*$#\1#gp‘

ifconfig eth0|sed  -n ‘s#^.*dr:\(.*\)B.*$#\1#gp‘

5、    直接用awk正则表达式来匹配

ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘

ifconfig eth0|awk -F ‘[: ]+‘ ‘/Bcast/ { print $4}‘

ifconfig eth0|awk -F ‘[: ]+‘ ‘/inet addr:/ { print $4}‘

ifconfig eth0|awk -F ‘[ :]+‘ ‘$0 ~ "inet addr"{print $4}‘

6、    直接用grep正则表达式来匹配IP地址数字

ifconfig eth0|grep -o ‘\([1-9]\{1,3\}\.\)\{3\}[0-4]\{3,\}‘

#####[0-4]不要大于4否则子网掩码也会提取出来。

7、

ip addr|grep -Po ‘[^ ]+(?=/\d)‘|sed -n ‘3p‘

8、    直接提取IP地址文件。

/etc/sysconfig/network-scripts/ifcfg-eth0

cat /etc/sysconfig/network-scripts/ifcfg-eth0|sed -n ‘10p‘|cut -d"=" -f2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值