執行命令取出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

'+'表示重複前面多個字符,將多個空格或者冒號合併爲一個字符。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章