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