「ip addr show」を使用して特定の種類のリンクのみを表示する方法

「ip addr show」を使用して特定の種類のリンクのみを表示する方法

ip addr showgrepなどのヘルパープロセスを使用してフィルタリングせずに特定の種類のリンクのみを表示するにはどうすればよいですか?

~によると男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)

関連情報