Shell例題 192 統計詞頻

2021-10-25 06:28:24 字數 775 閱讀 1744

words.txt只包括小寫字母和 ' ' 。 

每個單詞只由小寫字母組成。

單詞間由乙個或多個空格字元分隔。

假設 words.txt 內容如下:

the day

is sunny the the

the sunny is

is你的指令碼應當輸出(以詞頻降序排列):

the 4is3

sunny 2

day1

不要擔心詞頻相同的單詞的排序問題,每個單詞出現的頻率都是唯一的。

你可以使用一行 unix pipes 實現嗎?

cat words.txt |

tr -s ' '

'\n'

|sort

|uniq -c|

sort -rnk1 |

awk''

tr -s ' '

'\n'

##將檔案中內容空格轉換為\n,使每個單詞佔一行

sort

##第乙個sort的排序是按照預設排序規則排序

uniq -c

## 合併重複並統計重複個數,-c原理是字串相同則加一,如果不進行先排序的話將無法統計數目

sort -rnk1

## -r 倒敘排序 -n 純數字排序 -k1 指 指定排列的列是第一列

awk''

##列印第二列和第一列

leetcode192 詞頻統計

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 ...

SHELL篇 統計詞頻

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

使用shell實現簡單的詞頻統計

統計如下中第二列單詞出現的次數 1,huabingood,100 2,haha,200 3,huabingood,300 4,haha,100 5,haha,200 cat a.txt awk f sort uniq c sort nrk 1 解釋 awk f 將資料按照逗號進行分割,並取出第二列的...