标签:grep linux文本三剑客匹配网卡ip地址 linux文本三剑客 sed awk
运维工程师在做配置的过程中很多时候都需要去获取目标服务器网卡上的IP地址,那究竟用什么方式获取更便捷了,博主今天就带大家使用linux文本三剑客分别获取一下网卡的IP地址,最后我们再来对比一下。
实验环境:
系统:CentOS 7.2
网卡张数:双网卡
linux文本三剑客之grep
获取ifconfig输出中的IP地址
ifconfig | egrep -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\>.(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){2}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>"
获取网卡配置文件中的IP地址
egrep -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\>.(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){2}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>" /etc/sysconfig/network-scripts/ifcfg-eth*
/etc/sysconfig/network-scripts/ifcfg-eth0:10.29.88.57
/etc/sysconfig/network-scripts/ifcfg-eth1:118.190.87.211
优点:
匹配规则通用性强,既可以获取ifconfig输出中的IP地址,也可以获取网卡配置文件里的IP地址,匹配规则不需要做任何修改
缺点:
命令冗长,不容易记忆
linux文本三剑客之sed
获取ifconfig输出中的IP地址
ifconfig | sed -rn ‘s/^.*inet (.*) net.*/\1/p‘
获取网卡配置文件中的IP地址
sed -rn ‘s/^.*IPADDR=(.*)/\1/p‘ /etc/sysconfig/network-scripts/ifcfg-eth*
优点:
命令较短,比较容易记忆
缺点:
通用性不强,获取网卡配置文件里的IP地址时匹配规则需要调整较大
linux文本三剑客之awk
获取ifconfig输出中的IP地址
ifconfig | awk ‘/inet /{print $2}‘
获取网卡配置文件中的IP地址
awk -F= ‘/IPADDR/{print $2}‘ /etc/sysconfig/network-scripts/ifcfg-eth*
优点:
命令最短,最容易记忆
缺点:
通用性较强,获取网卡配置文件里的IP地址时匹配规则需要调整较小
获取ifconfig输出中的IP地址使用效果如图所示
获取网卡配置文件中的IP地址使用效果如图所示
通过实际案例进行比较,我们不难发现,linux文本三剑客中,awk的实用性和便捷性都是很强的(少量的命令都可以搞定复杂的文本的匹配),所以推荐运维工程师在工作中多用awk,当然请你不要怀疑,我不是awk官方的市场推广人员(..^..)
本文出自 “爱情防火墙” 博客,请务必保留此出处http://183530300.blog.51cto.com/894387/1959780
linux文本三剑客匹配网卡IP地址大PK(CentOS 7系统)
标签:grep linux文本三剑客匹配网卡ip地址 linux文本三剑客 sed awk
原文地址:http://183530300.blog.51cto.com/894387/1959780