首页 > 代码库 > 执行命令取出linux中eth0的IP地址

执行命令取出linux中eth0的IP地址

方法一:cut命令

#ifconfig eth0|grep ‘inet addr‘|cut -d ":" -f2|cut -d " " -f1
192.168.1.11

方法二:awk命令

1.使用两遍awk命令

#ifconfig eth0 |grep ‘inet addr‘|awk -F ":" ‘{print $2}‘ |awk ‘{print $1}‘
192.168.1.11

2.使用一遍awk命令

错误写法:

# ifconfig eth0|grep ‘inet addr‘|awk -F [ :] ‘{print $13}‘
awk: :]
awk: ^ syntax error

正确写法:

#ifconfig eth0|grep ‘inet addr‘|awk -F ‘[ :]‘ ‘{print $13}‘
192.168.1.11

也可以是:

#ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-6)}‘

NF在awk中表示最后一行,如果看不懂NF后面减6,可以分开查看

[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF)}‘
255.255.255.0
[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-1)}‘
Mask
[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-2)}‘

[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-3)}‘
192.168.1.255
[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-4)}‘
Bcast
[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-5)}‘

[root@s11 lele]# ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]‘ ‘{print $(NF-6)}‘
192.168.1.11

3.awk多分隔符

#ifconfig eth0|sed -n ‘2p‘|awk -F ‘[ :]+‘ ‘{print $4}‘
192.168.1.11
#ifconfig eth0|awk -F ‘[ :]+‘ ‘NR==2 {print $4}‘
192.168.1.11

‘+‘表示重复前面多个字符,将多个空格或者冒号合并为一个字符。



执行命令取出linux中eth0的IP地址