我的文件如下所示:
790 45.61.188.53
494 45.61.188.95
我需要将第一个(例如790)与其他内容进行比较,然后打印第二个。
所以我的代码实际上是这样的:
c=$(cat $IPS | sed '/^$/d' | sort -rn | uniq -c | sort -rn | awk '{print $1}' | head -5 >> $CFILE)
i=$(cat $IPS | sed '/^$/d' | sort -rn | uniq -c | sort -rn | awk '{print $2}' |head -5)
for count in `cat $CFILE`
do
if (( $count > 100 ));then
echo "$i"
fi
done
但返回输出为:
45.61.188.53
45.61.188.95
20.230.214.19
45.61.187.215
78.142.63.3
45.61.188.53
45.61.188.95
20.230.214.19
45.61.187.215
78.142.63.3
45.61.188.53
45.61.188.95
20.230.214.19
45.61.187.215
78.142.63.3
45.61.188.53
45.61.188.95
20.230.214.19
45.61.187.215
78.142.63.3
and so on
我假设这是for循环的正常行为,但我无法理解如何使用不同的东西来实现它。也许阵列会有用?