sedはパターンが初めて発生しません

sedはパターンが初めて発生しません

猫ファイルには以下が含まれています。

 inet addr:192.168.154.102 Bcast:192.168.154.255 Mask:255.255.255.0
 inet addr:127.0.0.1 Mask:255.0.0.0

私は次のようにipaddress(192.168.154.102および127.0.0.1)を抽出するためにsedを使用しています。

sed -ne 's/.*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p'

しかし、それは単に以下を提供します:

5.255.255.0
5.0.0.0

ベストアンサー1

使用awk:

$ echo "inet addr:192.168.154.102 Bcast:192.168.154.255 Mask:255.255.255.0" | awk '{ split($2, a, ":"); print a[2] }'
192.168.154.102

必ず使用する必要がある場合は、sed次のようになります。

echo "inet addr:192.168.154.102 Bcast:192.168.154.255 Mask:255.255.255.0" | sed 's#.*addr:\([0-9.]*\).*#\1#g'
192.168.154.102

おすすめ記事