取ip地址,最简单粗暴的2种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取ip地址,最简单粗暴的2种方法相关的知识,希望对你有一定的参考价值。
命令:awk -F"[ :]+" ‘NR==2 {print$4}‘
[[email protected] tmp]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr00:0C:29:8B:B4:9A inet addr:192.168.56.128 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe8b:b49a/64 Scope:Link [[email protected]]# ifconfig eth0 |awk -F"[ :]+" ‘NR==2 {print $4}‘ 192.168.56.128
[ :]为空格和冒号为分隔符,+为匹配之前项的1次或者多次。因为空格在ip地址所在行最前面有10个,所以匹配多个空格。"[ :]+"的整体意思就是匹配多个空格和冒号为分隔符。
命令:sed -n‘2s#^.*r:\(.*\) B.*$#\1#p‘
[[email protected] tmp]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr00:0C:29:8B:B4:9A inet addr:192.168.56.128 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe8b:b49a/64 Scope:Link [[email protected] tmp]# ifconfig eth0 |sed -n‘2s#^.*r:\(.*\) B.*$#\1#p‘ 192.168.56.128
^>*r:为以r:为结尾,以任意字符为开头。\(.*\)为取以任意字符,并保存匹配字符。空格B.*$以空格和大B为开头,以任意字符为结尾。\1为取出\(.*\)的匹配字符。
以上是关于取ip地址,最简单粗暴的2种方法的主要内容,如果未能解决你的问题,请参考以下文章