2015-01-14 37 views
0

我有這樣的bash腳本:bash腳本排序輸入文件之前,管道到while循環

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

我怎麼能(與sort -n -r如)排序file.log文件則採用前十行之前,並移交給while循環?

+0

'head -10 file.log | sort -nr' –

+0

'sort -nr file.log |頭-10' – cmbuckley

回答

2

如果你想排序後得到的前10線,採用head只是sort之前:

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

應用您所需要的sort標誌,當然。

0

使用此命令,

sort -nr file.log | head -10 
+0

這將排序前10行,而OP可能想要得到前10排序行 – fedorqui

+0

@fedorqui根據OP的要求更新:) – Skynet