2011-02-13 159 views

回答

4

有點凌亂但應該工作:

/sbin/ifconfig | grep -B1 1.2.3.4 | awk '{print $1; exit}' 

或者,您可以使用ip命令,該命令與-o|-oneline選項一起使用時,更易於解析。例如

ip -o addr | awk '/1.2.3.4/{print $2}' 
7

與IP地址替換127.0.0.1你想獲得

ifconfig | grep 127.0.0.1 -B1 | grep Link | cut -f 1 '-d ' 

接口的信息,如果你也想找出機器上的物理端口,運行

ethtool -p $OUTPUT_OF_FIRST_COMMAND 

它將閃爍與該接口相關的以太網卡上的光

+0

打我吧:) +1 – 2011-02-13 19:15:26

2

關閉我的頭頂,我可能會使用grep:

ifconfig |grep -B1 '127.0.0.1' |grep -o '^[a-zA-Z0-9]*' 

在哪裏「127.0.0.1」是你要找的地址。

-B1設置匹配返回前的行數。

-o將第二個grep設置爲僅返回匹配的段而不是整行。

'^ [a-zA-Z0-9] *'匹配從行首開始的任何字母數字。

由於ifconfig縮進除接口名稱行之外的所有行,它只會匹配接口名稱。

這是快速和骯髒的,但應該工作。

+0

+1對於說明(s) – 2011-02-13 20:20:50

0
ifconfig | awk 'BEGIN{RS=""}/127.0.0.1/{print $1}' 

ifconfig | ruby -00 -ane 'puts $F[0] if /127.0.0.1/' 
相關問題