2017-01-19 11 views
-1

Я знаю, как получить список сетевых интерфейсов:сети Список интерфейсов и список IP-адресов, прикрепленных к каждому из них CentOS7

ip ntable | grep dev | sort | uniq | sed -e 's/^.*dev //;/^lo/d' 

и как список IP-адресов:

hostname -i 

Но не удается перечислим их хороший способ

Желаемый результат будет:

IPv4: 
Interface_1  IP_1, IP2 
Interface_2  IP_4 
Interface_3  IP_5 
IPv6: 
Interface_1  IP1 
+1

Используйте 'awk' для объединения всех IP-адресов для одного и того же интерфейса. – Barmar

+0

Пожалуйста, взгляните на: [Что делать, если кто-то отвечает на мой вопрос?] (Http://stackoverflow.com/help/someone-answers) – Cyrus

ответ

0

Быстрый подход, который дает выход в формате:

Interface_1

IPv4: XXXXXXXX IPv6: XXXXXXXX

Interface_2

IPv4: XXXXXXXX IPv6: XXXXXXXX

Будет:

for i in $(ip ntable | grep dev | sort -u | awk '{print $2}'); do echo $i; ifconfig $i | grep inet | sed -e 's/\<inet\>/IPv4:/g' | sed -e 's/\<inet6\>/IPv6:/g' | awk '{print $1$2}'; done 

Вы можете проанализировать вывод, чтобы иметь формат по своему усмотрению.