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)