2016-05-13 36 views
0

どのようにsedを使ってIPアドレスで問い合わせることができますか、それを使っているインターフェイス名が表示されます。例えばIPアドレスでネットワークインターフェイスを見つける - Linux/Bash

..

ipconfig -a | grep 10.0.0.10 

私はあなたがこのCOMANDを使用する必要があり、それはETH0

+0

注 –

+0

それは 'ifconfig'です、' ipconfig'はDOSコマンドです(私はそれが誤字であると推測しています)。それでは 'ifconfig -a'の出力はそれ自身では何ですか?あなたのシステムに '10.0.0.10 'というIPがリストされたNICがありますか? – theruss

答えて

0

に戻ってくることを期待する:

ifconfig | grep -B1 "inet addr:10.0.0.10" | awk '$1!="inet" && $1!="--" {print $1}' 

・ホープこのヘルプ!

+0

OPが、古いgrep 10.0.0.10を使って見つからなかった場合、OPが見つからない場合はどうすればよいでしょうか? – theruss

+0

あなたはもっと説明できますか? 'OP'とは何ですか?また、指定されたIPアドレスと一致する場合はethernet_nameを出力しますか? –

+0

OP =オリジナルのポスター、btw Thanh、これはまさに私が探していたものです。ありがとう:) – TonyW

0

sed固有の解決策が必要な場合は、これを試してください。どのように動作するのか少し消化しにくいですが、最終的にはこの組み合わせが機能します。

ifconfig | sed -n '/addr:10.0.0.10/{g;H;p};H;x' | awk '{print $1}' 

スクリプトで引数として使用する場合は、10.0.0.10の代わりに "$ 1"などを使用します。

参照用

のSEDマニュアル:開始のためsystemd` INIT OSの `ipconfig`代わり` ip`コマンドが使用され、インストールされていない(具体的には `のIP addr`)`にhttp://www.gnu.org/software/sed/manual/sed.html#tail

0
ifconfig | grep -B1 10.0.0.10 | grep -o "^\w*" 
関連する問題