awk+uniq+sort 統(tǒng)計字符串出現(xiàn)次數(shù)并排序

在服務(wù)器開發(fā)中,我們經(jīng)常會寫入大量的日志文件厨钻。有時候我們需要對這些日志文件進(jìn)行統(tǒng)計诗充。Linux中我們可以利用以下命令簡單高效的實(shí)現(xiàn)這一功能蝴蜓。

需要用到的命令簡介

cat命令

參數(shù):

-n 或 –number 由 1 開始對所有輸出的行數(shù)編號?

?-b 或 –number-nonblank 和 -n 相似,只不過對于空白行不編號??

-s 或 –squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行诵冒,就代換為一行的空白行?

| 管道

管道的作用是將左邊命令的輸出作為右邊命令的輸入

awk 命令

awk 是行處理器,優(yōu)點(diǎn)是處理龐大文件時不會出現(xiàn)內(nèi)存溢出或處理緩慢的問題惭蟋,通常用來格式化文本信息告组。awk依次對每一行進(jìn)行處理,然后輸出我碟。

命令形式

awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file?

[-F|-f|-v] 大參數(shù),-F指定分隔符厘托,-f調(diào)用腳本,-v定義變量 var=value?

’ ’ 引用代碼塊??

BEGIN 初始化代碼塊包斑,在對每一行進(jìn)行處理之前神帅,初始化代碼,主要是引用全局變量,設(shè)置FS分隔符??

// 匹配代碼塊沐兰,可以使字符串或正則表達(dá)式??

{} 命令代碼塊,包含一條或多條命令??

;多條命令使用分號分隔??

END 結(jié)尾代碼塊比原,對每一行進(jìn)行處理后再執(zhí)行的代碼塊,主要進(jìn)行最終計算或輸出

sort 命令

sort將文件的每一行作為一個單位氢拥,相互比較嫩海,比較原則是從首字符向后叁怪,依次按ASCII碼值進(jìn)行比較涣觉,最后將他們按升序輸出混驰。??

-b:忽略每行前面開始出的空格字符皂贩;?

-c:檢查文件是否已經(jīng)按照順序排序;??

-d:排序時昆汹,處理英文字母明刷、數(shù)字及空格字符外,忽略其他的字符满粗;??

-f:排序時辈末,將小寫字母視為大寫字母;??

-i:排序時映皆,除了040至176之間的ASCII字符外,忽略其他的字符澈驼;??

-m:將幾個排序號的文件進(jìn)行合并缭贡;??

-M:將前面3個字母依照月份的縮寫進(jìn)行排序颠印;??

-n:依照數(shù)值的大小排序燃乍;??

-o<輸出文件>:將排序后的結(jié)果存入制定的文件介陶;??

-r:以相反的順序來排序玻墅;??

-t<分隔字符>:指定排序時所用的欄位分隔字符;

uniq 命令

uniq 命令用于報告或忽略文件中的重復(fù)行谓罗,一般與sort命令結(jié)合使用???

-c或——count:在每列旁邊顯示該行重復(fù)出現(xiàn)的次數(shù);??

-d或–repeated:僅顯示重復(fù)出現(xiàn)的行列;??

-f<欄位>或–skip-fields=<欄位>:忽略比較指定的欄位;??

-s<字符位置>或–skip-chars=<字符位置>:忽略比較指定的字符梳杏;??

-u或——unique:僅顯示出一次的行列劲适;??

-w<字符位置>或–check-chars=<字符位置>:指定要比較的字符霞势。

現(xiàn)在我們開始

1 讀入文件

cat aaa

lockdreamer

2 從每一行取出我們需要的字符串

cat aaa | awk -F '.'? '{print $3}'

-F 指定每一行的分隔符

例子:‘(txt=|&client)’是分隔符旬昭,它是一個正則表達(dá)式搓逾。意義是杯拐,用’txt=’或’&client’ 作為分隔符

3 對行進(jìn)行排序?先排序是因?yàn)槿ブ嘏c統(tǒng)計的 ‘unip’命令只能處理相鄰行

cat aaa | awk -F '.'? '{print $3}' |sort

lockdreamer

可以看到相同行已經(jīng)被排在了一起

4 統(tǒng)計數(shù)量與去重

cat aaa | awk -F '.'? '{print $3}' |sort? | uniq -c

lockdreamer

uniq -c 中的-c 代表在每列旁邊顯示該行重復(fù)出現(xiàn)的次數(shù)?執(zhí)行結(jié)果?

5 按重復(fù)次數(shù)排序

cat aaa | awk -F '.'? '{print $3}' |sort? | uniq -c| sort -nr

lockdreamer

sort 的 -n:依照數(shù)值的大小排序霞篡;-r 按照相反順序排列

執(zhí)行結(jié)果

作者:lockdreamer

鏈接:http://www.reibang.com/p/8e6c6252a2f3

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市端逼,隨后出現(xiàn)的幾起案子朗兵,更是在濱河造成了極大的恐慌,老刑警劉巖顶滩,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件余掖,死亡現(xiàn)場離奇詭異,居然都是意外死亡礁鲁,警方通過查閱死者的電腦和手機(jī)盐欺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門赁豆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冗美,你說我怎么就攤上這事魔种。” “怎么了粉洼?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵节预,是天一觀的道長。 經(jīng)常有香客問我漆改,道長心铃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任挫剑,我火速辦了婚禮去扣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘樊破。我一直安慰自己愉棱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布哲戚。 她就那樣靜靜地躺著奔滑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顺少。 梳的紋絲不亂的頭發(fā)上朋其,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音脆炎,去河邊找鬼梅猿。 笑死,一個胖子當(dāng)著我的面吹牛秒裕,可吹牛的內(nèi)容都是我干的袱蚓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼几蜻,長吁一口氣:“原來是場噩夢啊……” “哼喇潘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起梭稚,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤颖低,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后哨毁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枫甲,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了想幻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粱栖。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖脏毯,靈堂內(nèi)的尸體忽然破棺而出闹究,到底是詐尸還是另有隱情,我是刑警寧澤食店,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布渣淤,位于F島的核電站,受9級特大地震影響吉嫩,放射性物質(zhì)發(fā)生泄漏价认。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一自娩、第九天 我趴在偏房一處隱蔽的房頂上張望用踩。 院中可真熱鬧,春花似錦忙迁、人聲如沸脐彩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惠奸。三九已至,卻和暖如春恰梢,著一層夾襖步出監(jiān)牢的瞬間佛南,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工嵌言, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留共虑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓呀页,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拥坛。 傳聞我的和親對象是個殘疾皇子蓬蝶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

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