命令
- 統計詞頻需要uniq和sort配合使用
uniq
- 實現去重操作,但僅僅和臨近行的元素比較,那麼如果元素是打散的不在連續行呢?這就需要sort操作
uniq -c
-c表示將對應頻次顯示出來
sort
- 可實現排序,這裏就能讓元素按照順序排列,讓相同元素臨近
sort -nr
-n表示數值排序,-r表示逆序
- 然後在此基礎上,進行uniq操作,即可得到每個元素對應頻次
- 一般爲了美觀,可以再加一個sort操作,讓頻次按照順序排列
實踐
tmp.txt 文本如下,將統計每個字段的頻次
0-297:294
0-399:222
0-297:294
0-140:138
0-367:267
0-399:222
0-65:179
0-81:82
0-100:179
0-586:277
0-367:267
0-423:582
0-367:267
0-81:82
0-410:72
0-100:179
0-240:277
0-583:582
0-586:277
0-81:82
0-423:582
0-586:277
0-367:267
0-410:72
0-100:179
0-367:267
0-410:72
0-100:179
0-240:277
0-586:277
0-81:82
0-410:72
0-100:179
0-240:277
0-81:82
0-100:179
0-586:277
0-140:138
0-81:82
0-100:179
0-586:277
0-81:82
0-586:277
0-410:72
0-140:138
- 代碼
cat tmp.txt | sort | uniq -c | sort -nr
- 結果