首頁  >  文章  >  運維  >  linux怎麼去重統計

linux怎麼去重統計

(*-*)浩
(*-*)浩原創
2019-05-28 17:00:594539瀏覽

linux命令列提供了非常強大的文字處理功能,組合利用linux指令能實現好多強大的功能。本文這裡舉例說明如何利用Linux命令列進行文字按行去重並依重複次數排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是實現相鄰文字行的去重,cut可以從文字行中提取對應的文字列(簡單地說,就是按列操作文字行)。

linux怎麼去重統計

文字行去重並依重複次數排序 

範例:

首先,對文字行進行去重並統計重複次數(uniq指令加-c選項可以實現對重複次數進行統計)。 

$ sort test.txt | uniq -c 
2 Apple and Nokia. 
4 Hello World. 
1 I wanna buy an Apple device. 
1 My name is Friendfish. 
2 The Iphone of Apple company.

將文字行依重複次數進行排序。 

sort -n可以辨識每行開頭的數字,並依其大小對文字行進行排序。預設是按升序排列,如果想要按降序要加-r選項(sort -rn)。 

$ sort test.txt | uniq -c | sort -rn 
4 Hello World. 
2 The Iphone of Apple company. 
2 Apple and Nokia. 
1 My name is Friendfish.

每行前面的刪除重複次數。 

cut指令可以按列操作文字行。可以看出前面的重複次數佔8個字符,因此,可以用命令cut -c 9- 取出每行第9個及其以後的字符。

$ sort test.txt | uniq -c | sort -rn | cut -c 9- 
Hello World. 
The Iphone of Apple company. 
Apple and Nokia. 
My name is Friendfish. 
I wanna buy an Apple device.

以上是linux怎麼去重統計的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn