2015-04-20 131 views
2

所以我看起來像這樣的文本文件:(第一列是重複數,第二列是數據)比較不區分大小寫字符串再算上重複

27 amalyais 
17 knc154 
14 formulaoneboy 
13 mathchallenged31 
9 GooGooo1234 
8 rkinder 
7 tony 
7 rammnatt2003 

我的代碼讀取文本文件,刪除任何重複,並計算數據重複自己的時間。但是,有數據是大寫,而其他數據是小寫。我的代碼馬上打印出這樣的事情,如果這樣的情況發生過:

27 amalyais 
12 AMALYAIS 
9 Amalyais 

是有辦法解決這一問題? 這是我的awk代碼。我是新來的awk,所以我還是有很多事情掙扎:(temp1中與重複數據的處理文本文件,TEMP2有一個像上面的輸出)

sort -k2 < temp1 | 
awk '!z[$1]++{a[$1]=$0;} END {for (i in a) print z[i], a[i]}' | 
sort -rn -k1 > temp2 
+0

您的預期產出是多少? – anubhava

+0

'awk'之前'tr a-z A-Z'可能是一個解決方案 –

回答

2

在你awk命令,你可以全程記錄轉換爲做任何的邏輯是這樣之前小寫:

awk '{$0=tolower($0)} !z[$2]++{a[$2]=$0;} END {for (i in a) print z[i], a[i]}' 

但是如果您在您的問題,預計輸出,那麼我可以給你更精確的答案。

相關問題