使用 avahi,我在我的网络范围内填充了一个 IP 地址列表。然后使用 sed 细化填充的信息以提供以下输出
Initial data = address = [xxx.xxx.xxx.xxx]
Refined data = xxx.xxx.xxx.xxx
执行此操作的命令如下:
avahi-browse -alrt | grep -w address | sort -u | sed -e 's/address = //' | sed -e 's/\[//' | sed -e 's/\]//'
这在大多数情况下都可以正常工作,但是在奇怪的情况下,诸如 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 之类的地址会显示在列表中,我想省略它们。
我知道我可以使用正则表达式或其他东西来确保数据始终与有效的 ip 匹配,即 xxx.xxx.xxx.xxx 但我不确定如何去做。任何帮助深表感谢。
该命令使用 bash 脚本在 linux 上运行,我希望它只返回 xxx.xxx.xxx.xxx 格式的有效 IP 地址。