ローカルIPリストを取得してIPを見つけるスクリプト

ローカルIPリストを取得してIPを見つけるスクリプト

IPアドレスなどを探すスクリプトが欲しいです。

次のコマンドを使用してリストを生成します。

ip -4 neighbor show

しかし、どのように見るべきかわかりません。

command | awk ...

または

for i in command ; do ... done

結局これが合うようです。

LIST=$(the regex of Reda Salih)  
for i in $LIST
do
  if [ "${i}" == $my_ip]
  then
    echo found
    exit 0
  fi
done
echo not found

しかし、よりエレガントな解決策がありますか?

答え1

次の正規表現でgrepを使用できます。

ip -4 neighbor show | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | grep -oh <ip_addr>

<ip_addr>を自分のIPに置き換えてください。

関連情報