1. 程式人生 > >linux統計txt檔案中單詞出現次數並排序

linux統計txt檔案中單詞出現次數並排序

檔案:a.txt

任務:統計該檔案中每一個單詞出現的次數,並按照出現頻率從大到小排序

sed 's/ /\n/g' "a.txt" | sort | uniq -c | sort -nr

解析:

sed替換

sed 's/被替換的字串/新字串/[替換選項]' filename

替換選項g表示替換文字中所有出現被替換字串之處

uniq統計次數

uniq -c表示列印每行在文字中重複出現的次數

sort排序

-n根據數字大小進行排序

-r將排序結果逆向顯示


增強版:

sed -e 's/\?//g' -e 's/ /\n/g' "test.txt" | sort | uniq -c | sort -nr

test.txt檔案為:hello mylove i love you how about you do you love me?

當sed包含多個命令時,需要用-e分隔開來,第一個表示過濾掉檔案中的"?"再進行計算。

輸出結果為:

      3 you
      2 love
      1 mylove
      1 me
      1 i
      1 how
      1 hello
      1 do
      1 about