Cómo hacer que `ip addr show` muestre solo enlaces de un tipo específico

Cómo hacer que `ip addr show` muestre solo enlaces de un tipo específico

¿Cómo se puede ip addr showmostrar solo enlaces de un tipo específico, sin utilizar un proceso secundario como grep para realizar el filtrado?

De acuerdo ahombre 8 dirección IP, esto debería ser posible usando lo siguiente, pero cuando los ejecuto, no obtengo resultados:

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

Respuesta1

El breve y simple:

hostname -i

Por lo general, no busco el loopback sino la ip.

hostname -I 

Y si quieres ambas cosas, al tiempo que reduces el ruido del texto y añades color

ip addr | grep inet 

Respuesta2

Terminé haciendo esto en Python. No he intentado traducir esto usando 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)

información relacionada