日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

利用Linux命令行进行文本按行去重并按重复次数排序yes

發(fā)布時間:2024/9/20 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Linux命令行进行文本按行去重并按重复次数排序yes 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://www.tuicool.com/articles/fEzERj

Linux命令行提供了非常強(qiáng)大的文本處理功能,組合利用linux命令能實現(xiàn)好多強(qiáng)大的功能。本文這里舉例說明如何利用Linux命令行進(jìn)行文本按行去重并按重復(fù)次數(shù)排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是實現(xiàn)相鄰文本行的去重,cut可以從文本行中提取相應(yīng)的文本列(簡單地說,就是按列操作文本行)。

用于演示的測試文件內(nèi)容如下:

Hello World. Apple and Nokia. Hello World. I wanna buy an Apple device. The Iphone of Apple company. Hello World. The Iphone of Apple company. My name is Friendfish. Hello World. Apple and Nokia. 實現(xiàn)命令及過程如下: 1、文本行去重 (1)排序 由于uniq命令只能對相鄰行進(jìn)行去重復(fù)操作,所以在進(jìn)行去重前,先要對文本行進(jìn)行排序,使重復(fù)行集中到一起。 $ sort test.txt Apple and Nokia. Apple and Nokia. Hello World. Hello World. Hello World. Hello World. I wanna buy an Apple device. My name is Friendfish. The Iphone of Apple company. The Iphone of Apple company. (2)去掉相鄰的重復(fù)行 $ sort test.txt | uniq Apple and Nokia. Hello World. I wanna buy an Apple device. My name is Friendfish. The Iphone of Apple company.2、文本行去重并按重復(fù)次數(shù)排序 (1)首先,對文本行進(jìn)行去重并統(tǒng)計重復(fù)次數(shù)(uniq命令加-c選項可以實現(xiàn)對重復(fù)次數(shù)進(jìn)行統(tǒng)計。)。 $ sort test.txt | uniq -c2 Apple and Nokia.4 Hello World.1 I wanna buy an Apple device.1 My name is Friendfish.2 The Iphone of Apple company. (2)對文本行按重復(fù)次數(shù)進(jìn)行排序。 sort -n可以識別每行開頭的數(shù)字,并按其大小對文本行進(jìn)行排序。默認(rèn)是按升序排列,如果想要按降序要加-r選項(sort -rn)。 $ sort test.txt | uniq -c | sort -rn4 Hello World.2 The Iphone of Apple company.2 Apple and Nokia.1 My name is Friendfish.1 I wanna buy an Apple device. (3)每行前面的刪除重復(fù)次數(shù)。 cut命令可以按列操作文本行。可以看出前面的重復(fù)次數(shù)占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.

下面附帶說一下cut命令的使用,用法如下:

cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim][-s][file ...]上面的-b、-c、-f分別表示字節(jié)、字符、字段(即bytecharacter、field); list表示-b、-c、-f操作范圍,-n常常表示具體數(shù)字; file表示的自然是要操作的文本文件的名稱; delim(英文全寫:delimiter)表示分隔符,默認(rèn)情況下為TAB; -s表示不包括那些不含分隔符的行(這樣有利于去掉注釋和標(biāo)題) 三種方式中,表示從指定的范圍中提取字節(jié)(-b)、或字符(-c)、或字段(-f)。范圍的表示方法:n 只有第nn- 從第n項一直到行尾n-m 從第n項到第m項(包括m)-m 從一行的開始到第m項(包括m)- 從一行的開始到結(jié)束的所有項

來源:http://blog.csdn.net/lin_fs/article/details/51085474

總結(jié)

以上是生活随笔為你收集整理的利用Linux命令行进行文本按行去重并按重复次数排序yes的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。