管道到while循环之前用于对输入文件进行排序的Bash脚本

时间:2015-01-14 11:24:58

标签: linux bash sorting

我有这个bash脚本:

while IFS='"' read -r a ip c
do
    echo "ip: $ip"
    whois "$ip" | grep netname
done < <(head -10 file.log)

如何在前十行之前对file.log文件(例如sort -n -r)进行排序并将其移交给while循环?

2 个答案:

答案 0 :(得分:2)

如果您希望在排序后获得前10行,请在使用sort之前head

while IFS='"' read -r a ip c
do
    echo "ip: $ip"
    whois "$ip" | grep netname
done < <(sort file.log | head -10)
         ^^^^^^^^^^^^^^^

当然,应用您需要的sort标志。

答案 1 :(得分:0)

使用此命令,

sort -nr file.log | head -10