分类: LINUX
2018-08-17 12:01:23
Linux运维基础学习中,关于awk了解多少呢?咱们今天就来简单了解下如何取出网卡eth0的ip地址。
hostname -I
awk处理:
方法一:
[root@oldboy files]# ifconfig eth0|awk 'BEGIN{RS="[ :]"}NR==31'
192.168.197.133
方法二:
[root@oldboy files]# ifconfig eth0 | awk -F "(addr:)|( Bcast:)" 'NR==2{print $2}'
192.168.197.133
方法三:
[root@oldboy files]# ifconfig eth0 | awk -F "[ :]+" 'NR==2{print $4}'
192.168.197.133
方法四:
[root@oldboy files]# ifconfig eth0 | awk -F "[^0-9.]+" 'NR==2{print $2}'
192.168.197.133
提示:
前边的三种方法都还是比较好理解的,这第四种方法,需要学会逆向思维,看看我们要的结果10.0.0.50,ip地址:数字和点(.),我是否可以指定分隔符,以数字和点以外的字符为分隔符呢?
换句话说就是要排除数字和点(.)正则表达式与排除常用的就是[^0-9.]即不匹配数字和点(.)
然后-F “[^0-9]”位分隔符,但是要使用+,表示连续的。合起来就是:awk -F “[^0-9.]+” 'NR==2{print $2}'
以上就是今天的分享了,希望对有需要的朋友有所帮助。