2016-10-04 54 views
0

私のマシンには、eth0,eth1などの複数のイーサネットデバイスがあります。これらのIPの1つには、192.168.x.xのIPが含まれています。シェルスクリプトを使用してデバイス名を取得するにはどうすればよいですか?シェルスクリプト:サブネットマスクからeth名を取得

eth0 192.168.2.3 または 同様

(好ましくipコマンドではなく、ifconfigを使用して)eth3 192.168.5.6

答えて

0

あなたはこれを試すことができます。

ip -o -4 a | awk '$2 ~ "eth" { gsub(/\/.*/, "", $4); print $2" "$4}' 

すべてのインターフェイス。

ip -o -4 a | awk ' { gsub(/\/.*/, "", $4); print $2" "$4}' 

例:

[email protected]:/tmp/$ ip -o -4 a | awk ' { gsub(/\/.*/, "", $4); print $2" "$4}' 
lo 127.0.0.1 
eth0 x.x.x.x 
docker0 x.x.x.x 

[email protected]:/tmp/$ ip -o -4 a | awk '$2 ~ "eth" { gsub(/\/.*/, "", $4); print $2" "$4}' 
eth0 x.x.x.x 

男のIPは言った:

-o、-oneline 出力シングルライン上の各レコード、交換ラインは '\' 文字でフィード。これは、 のレコードをwc(1)でカウントしたりgrep(1)に出力したいときに便利です。

-4 a:TCP/IPのみを表示IPv4

関連する問題