leetcode192 詞頻統計

2021-09-19 14:30:43 字數 841 閱讀 4621

awk '}end}' words.txt | sort -nr -k 2

方法(1):cat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -rn | awk ''

1、sort語法複習 

sort -n 將字串轉數字 

sort -r 指定順序為從大到小 

sort -k 2 指定第二個字段作為排序判斷標準

tr -s ' ' '\n' 是將所有連續的空格 空行刪除並保證每一行只有乙個字串 

sort | uniq -c 通常一起用來統計重複出現的次數。

方法(2):grep -oe '[a-z]+' words.txt | sort | uniq -c | sort -nr | awk ''

grep命令用於查詢檔案裡符合條件的字串。

tr -s ' ' '\n' 是將所有連續的空格 空行刪除並保證每一行只有乙個字串 

sort | uniq -c 通常一起用來統計重複出現的次數。

方法(3):awk '}end}' words.txt | sort -nr -k 2

複習一下awk的語法。不用容易忘。 

(1)awk 是逐行檢索文字。分為3的部分。 

begin 

。例如這裡 for(i=1;i<=nf;++i)就是將每一行分隔的字段,進行詞頻統計。 

nf是分隔的字段數。 

$0表示整行字串 

$1到$nf表示從分隔的第乙個字串到最後乙個字串 

awk中的陣列可以用作hashtable做來詞頻統計。 

end 

for(k in m) k表示的就是m的key。

Shell例題 192 統計詞頻

words.txt只包括小寫字母和 每個單詞只由小寫字母組成。單詞間由乙個或多個空格字元分隔。假設 words.txt 內容如下 the day is sunny the the the sunny is is你的指令碼應當輸出 以詞頻降序排列 the 4is3 sunny 2 day1不要擔心詞頻...

LeetCode191 統計詞頻

寫乙個 bash 指令碼以統計乙個文字檔案 words.txt 中每個單詞出現的頻率。為了簡單起見,你可以假設 words.txt只包括小寫字母和 每個單詞只由小寫字母組成。單詞間由乙個或多個空格字元分隔。示例 假設 words.txt 內容如下 dayis sunny the thethe sun...

PTA 詞頻統計

請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。輸入給出一段非空文字,最後以符號 ...