Как заставить `ip addr show` показывать только ссылки определенного типа

Как заставить `ip addr show` показывать только ссылки определенного типа

Как можно ip addr showотображать только ссылки определенного типа, не используя вторичный процесс вроде grep для фильтрации?

В соответствии счеловек 8 ip-адрес, это должно быть возможно с помощью следующих действий, но когда я их запускаю, я не получаю никаких результатов:

ip addr show type "link/loopback"
ip addr show type "loopback"

решение1

Коротко и просто:

hostname -i

Обычно я не ищу обратную связь, а ищу IP-адрес, поэтому

hostname -I 

А если вы хотите и то, и другое, одновременно уменьшая текстовый шум и добавляя цвет

ip addr | grep inet 

решение2

Я закончил делать это на Python. Я не пробовал переводить это с помощью grep.

import re
import shlex
import subprocess

""" Return a list of interface name strings """

RE_PATT = "^\d+: (\w+).+\n +link/loopback"
proc = subprocess.run(
    shlex.split("ip link show"),
    stdout=subprocess.PIPE,
    universal_newlines=True,
)
interface_list = re.findall(RE_PATT, proc.stdout, re.MULTILINE)

Связанный контент