我正在尝试让此脚本cat
一个文件并grep
877
的每一行和找到的每一行,打印第一列是 IP 并将其存储在主机中。每次都卡在 awk
上。我运行 sh -x some.sh
看看它卡在哪里。我应该打印到文件而不是列表吗?为什么它会卡在 awk
上?
hosts=()
FILENAME=/home/somethin/.hosts.conf
ips=`cat $FILENAME | grep -v '877'`
for line in $ips; do
hosts=$(`awk '{print $1}'`)
done
echo $hosts
最佳答案
这一切都可以使用 awk 来完成:
hosts=( $(awk '/877/{print $1}' $FILENAME) )
echo "${hosts[@]}"
关于使用 grep 和 awk 的 BASH FOR 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277370/