我有以下字符串:
redis. 600 IN A 172.16.0.3 redis. 600 IN A 172.16.0.4 redis. 600 IN A 172.16.0.5 redis. 600 IN A 172.16.0.6 redis. 600 IN A 172.16.0.7
该字符串是从以下命令获得的:
dig redis A | grep redis | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
当命令运行时,字符串在每一行上打印出来,但我将输出保存到一个变量中,所以它都是一行。我想将所有 IP 地址放入一个 bash 数组中。我这样做的最佳方法是什么?
编辑:这篇文章不是重复的,因为这篇文章的重点是如何获取 IP 地址,而不是如何将它们读入数组。
我最终能够通过使用 awk 来做到这一点:
IPAddresses=($(dig redis A | grep redis | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{print $5}'))
IPAddresses 数组中包含所有 IP 地址,可以通过执行打印出来 echo "${IPAddresses[@]}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句