awk解析ifconfig获取eth0网卡IPv4,IPv6以及mac地址

awk学习笔记

1.awk

参考:Linux awk 命令 | 菜鸟教程 (runoob.com)

https://tianchi.aliyun.com/forum/post/33368

awk脚本基本格式***

awk 'BEGIN{commands} pattern{commands} END{commands}' file

awk是以行为单位的,在大段文本输入时,是一行一行读入;

awk无论行还是列都是从1开始的,比如

ifconfig eth0 | awk '{print $1}' // 输出的是由‘ ’分割的一列列,并输出第一列结果

一些特殊的内建变量(重点几个)

变量描述
$n当前记录(一行)第n个字段(列)
NF当前一行被FS分割,产生了多少列(从1开始)
NR当前行号(从1开始)
FNR各文件分别计数的行号

awk中使用正则表达式(模式)

有几种方式使用模式

1.在左引号后直接使用模式

ifconfig eth0 | awk '/ether/' // 直接输出存在ether的所有行

//中是模式

2.更加具体的定位使用模式,如需要第一列中存在ether才进行显示

ifconfig eth0 | awk '$1 ~ /ether/'

这里用到了 ~ 表示模式的开始

3.模式取反,我不想要包含某个字段的行数据

ifconfig eth0 | awk '!/ether/'
ifconfig eth0 | awk '$1 !~ /ether/'

上述的简单学习,就可以使用awk定位出eth0网卡的IP地址、mac地址等信息了

ifconfig eth0 | awk '/ether/ {print $2}'  // 获取mac地址
ifconfig eth0 | awk '$1=="inet" {print $2}'   // 获取IPv4地址
ifconfig eth0 | awk '/inet6/ {print $2}'  // 获取IPv6地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值