192. 統(tǒng)計詞頻

題目描述

寫一個 bash 腳本以統(tǒng)計一個文本文件 words.txt 中每個單詞出現(xiàn)的頻率酪捡。

為了簡單起見,你可以假設(shè):

words.txt只包括小寫字母和 ' ' 。
每個單詞只由小寫字母組成呢袱。
單詞間由一個或多個空格字符分隔。
示例:

假設(shè) words.txt 內(nèi)容如下:

the day is sunny the the
the sunny is is

你的腳本應(yīng)當(dāng)輸出(以詞頻降序排列):

the 4
is 3
sunny 2
day 1

說明:

不要擔(dān)心詞頻相同的單詞的排序問題坯临,每個單詞出現(xiàn)的頻率都是唯一的液肌。
你可以使用一行 Unix pipes 實現(xiàn)嗎嗦哆?

分析

使用awk命令做統(tǒng)計
awk命令說明:
awk程序的結(jié)構(gòu):
每個awk程序都是一個或多個模式-動作語句的序列:
pattern { action }
pattern { action }
...

模式匹配粥喜,則執(zhí)行動作
常見模式有:
BEGIN, END,/正則表達式/,表達式

統(tǒng)計的action, 模式省略:

{for(i=1;i <= $NF; i++){++m[$i]}}

說明:
NF是分隔的字段數(shù)目
0是整行1-$NF表示分隔的第一個到最后一個字符串
m是hash表
輸出結(jié)果的模式-動作:

END {for(k in m){print k, m[k]}}

END是讀取到結(jié)束的模式
for(k in m)
k是數(shù)組的key

最后需要對結(jié)果進行排序,使用

|sort -nrk 2

-n表示按數(shù)值排序
-r表示逆序
-k 2表示按第二個字段排序

代碼

# Read from the file words.txt and output the word frequency list to stdout.
awk '{for(i=1;i<= NF;i++) {++m[$i]}} END{for(k in m){ print k,m[k]}}' words.txt | sort -rnk 2

題目鏈接

https://leetcode-cn.com/problems/word-frequency/description/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衍腥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乖仇,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眶根,死亡現(xiàn)場離奇詭異记劝,居然都是意外死亡,警方通過查閱死者的電腦和手機怒竿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門耕驰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了矩父?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵后裸,是天一觀的道長开睡。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任阻课,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己窃这,他們只是感情好杭攻,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般具练。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天扔茅,我揣著相機與錄音难述,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氧秘。 我是一名探鬼主播丸相,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼灭忠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了机隙?” 一聲冷哼從身側(cè)響起印颤,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赖欣,失蹤者是張志新(化名)和其女友劉穎湃交,沒想到半個月后藤巢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搞莺,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年掂咒,在試婚紗的時候發(fā)現(xiàn)自己被綠了才沧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡俏扩,死狀恐怖糜工,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情录淡,我是刑警寧澤捌木,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站嫉戚,受9級特大地震影響刨裆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彬檀,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一帆啃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窍帝,春花似錦努潘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽报慕。三九已至,卻和暖如春压怠,著一層夾襖步出監(jiān)牢的瞬間眠冈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工菌瘫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜗顽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓雨让,卻偏偏與公主長得像雇盖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子栖忠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • awk介紹awk變量printf命令:實現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,571評論 0 4
  • 轉(zhuǎn)載 原文的排版和內(nèi)容都更加友好,并且詳細,我只是在這里貼出了一部分留作自己以后參考和學(xué)習(xí),如希望更詳細了解AWK...
    XKirk閱讀 3,222評論 2 25
  • 報告生成器刊懈,格式化文本輸出,常用選項: -F:指明輸入時用到的字段分隔符 -v var=value:自定義變量 介...
    毛利卷卷發(fā)閱讀 523評論 0 1
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評論 2 33
  • awk: grep,sed,awk grep:文本過濾 sed:文本編輯 awk:文本格式化工具娃闲; 1 什么是aw...
    木林森閱讀 1,786評論 0 16