2013-03-14 24 views
0

我有一個包含數千個需要排序的啤酒評論的文件。每個啤酒審查看起來是這樣的:在Windows中使用Cygwin對文件進行排序

beer/name: John Harvards Simcoe IPA 
beer/beerID: 63836 
beer/brewerID: 8481 
beer/ABV: 5.4 
beer/style: India Pale Ale (ITA) 
review/appearance: 4/5 
review/aroma: 6/10 
review/palate: 3/5 
review/taste: 6/10 
review/overall: 13/20 
review/time: 11575857200 

我需要十大啤酒附有評論人數最多的排序。啤酒標識符「啤酒/名稱」。

+0

聽起來像一個家庭作業=) – 2013-03-14 21:38:34

+0

http://whathaveyoutried.com? – 2013-03-14 21:44:12

回答

0

聽起來像是一門功課,但無論如何,(我喜歡的啤酒),這是一個啓動

awk -F'[ /]' -v note=20 ' 
    /^beer\/name:/{$1=$2="";beer=$0} 
    /^review/ && !/review\/time/{arr[beer]+=$3/$4; count++} 
    END{for (a in arr) print a, arr[a]*note/count "/" note} 
' beers.txt 

人們很容易從這個管道輸出到sort & head命令排序特定列&分別從頂部顯示N行。 (或使用awk本身,但它很難...)

相關問題