一同事的朋友正在參加筆試,遇到這么一個問題讓他幫忙解決,結果同事又找到我幫他搞定。真是感慨:通訊發達在某些方面來說,真不知是不是好事啊!題目大致如下所示,一般我們使用ifconfig查看網卡信息,請問你可以通過什么命令,讓其只輸出IP地址192.168.42.128
看似簡單的問題,實現起來也不是太簡單。看看下面的思路吧
[root@DB-Server ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:9E:70:0E
inet addr:192.168.42.128 Bcast:192.168.42.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe9e:700e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:135 errors:0 dropped:0 overruns:0 frame:0
TX packets:216 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14062 (13.7 KiB) TX bytes:26007 (25.3 KiB)
[root@DB-Server ~]# ifconfig eth0 | grep "inet addr"
inet addr:192.168.42.128 Bcast:192.168.42.255 Mask:255.255.255.0
到這一步非常簡單,接下來就需要借助awk來實現了,如下所示,到此問題解決。
[root@DB-Server ~]# ifconfig eth0 | grep "inet addr" | awk '{ print $2}'
addr:192.168.42.128
[root@DB-Server ~]# ifconfig eth0 | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}'
192.168.42.128
![clip_image001[6] clip_image001[6]](/image/aHR0cHM6Ly9pbWFnZXMwLmNuYmxvZ3MuY29tL2Jsb2cvNzM1NDIvMjAxNTA2LzE2MTU1NTQ1Mzg4MTMwNi5wbmc=.png)