Chinaunix首页 | 论坛 | 博客
  • 博客访问: 903843
  • 博文数量: 354
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3730
  • 用 户 组: 普通用户
  • 注册时间: 2017-08-21 18:43
文章分类

全部博文(354)

文章存档

2019年(126)

2018年(223)

2017年(5)

我的朋友

分类: 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}'

以上就是今天的分享了,希望对有需要的朋友有所帮助。

阅读(1986) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~