欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux命令對某行去重的簡單介紹

linux文件行排序去重結(jié)果不同sort和uniq

騷年,你有仔細(xì)觀察者兩個命令嗎?

創(chuàng)新互聯(lián)建站專注骨干網(wǎng)絡(luò)服務(wù)器租用10余年,服務(wù)更有保障!服務(wù)器租用,資陽主機托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。

舉個例子:

文件filea為:

a

b

c

c

d

b

執(zhí)行sort filea |uniq -u |wc -l,先排序,則刪除了c和b的行;

執(zhí)行sort -u filea |wc -l,排序,同時刪除相同的行,則只刪除c行。

linux:如何對文本里的相同行進(jìn)行去重

①選中范圍;②查找重復(fù)的文本內(nèi)容,如“今天的大霧今天的大霧”;③替換,替換內(nèi)容“今天的大霧”,全都替換、確定。

linux命令對某一列去重/統(tǒng)計

cat file.csv | awk -F '\t' '{print $2}'

'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符號分割,換成其她符號;

'{print $2}'是指取第2列,此處從1開始計數(shù),第1列,第2列;

一般去重之前要進(jìn)行排序

cat file.csv | awk -F '\t' '{print $2}'?| sort | uniq

前半部分與命令1一樣,后面加上| sort | uniq

比如通過命令2發(fā)現(xiàn),第2列取值有兩種,分別是'neg'和‘pos’,那么我想知道有多少行的第2列取值為'pos',多少行的第2列取值為'neg'。

cat file.csv | awk -F '\t' '{print $2}'?|?grep -o 'neg'| wc -l

前半部分與命令1一樣,后面加上?|?grep -o 'neg'| wc -l

grep -o 'neg'就是取出取值為'neg'的行

wc -l 是計數(shù)有多少行

linux去重不要排序

寫個腳本來做就是了. ruby, awk都成

awk?'{if(!($0?in?a)){print?$0};a[$0];}'

linux去重命令

linux去重命令是什么呢?

在介紹uniq命令之前,我們先來新建在下面的案例中需要用到的文件/tmp/uniq.txt,內(nèi)容如下

默認(rèn)情況下uniq只會檢索相鄰的重復(fù)數(shù)據(jù)從而去重。在/tmp/uniq.txt中雖然“onmpw web site” 有三條,但是其中一條是和其他兩條不相鄰的,所以只去重了一條,同理“error php function”也是這種情況。

鑒于以上的檢索機制,所以uniq一般情況下要和sort命令一塊兒使用。

復(fù)制代碼

# sort 1.txt | uniq

alpha css web

cat linux command

error php function

hello world

onmpw web site

recruise page site

repeat no data

wello web site

復(fù)制代碼

現(xiàn)在再看是不是所有的重復(fù)項都已經(jīng)經(jīng)過去重處理了。

好了,小試牛刀一把以后,下面我們開始對uniq命令的選項進(jìn)行簡單的介紹。

-c 統(tǒng)計每一行數(shù)據(jù)的重復(fù)次數(shù)

復(fù)制代碼

sort 1.txt | uniq -c

1 alpha css web

1 cat linux command

2 error php function

1 hello world

3 onmpw web site

1 recruise page site

1 repeat no data

1 wello web site

復(fù)制代碼

我們看 “error php function”出現(xiàn)了兩次,“onmpw web site”出現(xiàn)了三次。其余的都沒有重復(fù)項所以為1。

-i 忽略大小寫

在1.txt中添加一行數(shù)據(jù) “Error PHP function”

復(fù)制代碼

cat 1.txt

alpha css web

cat linux command

error php function

hello world

onmpw web site

onmpw web site

wello web site

Error PHP function

recruise page site

error php function

repeat no data

onmpw web site

復(fù)制代碼

復(fù)制代碼

sort 1.txt | uniq –c

1 alpha css web

1 cat linux command

2 error php function

1 Error PHP function

1 hello world

3 onmpw web site

1 recruise page site

1 repeat no data

1 wello web site

復(fù)制代碼

我們看結(jié)果,uniq默認(rèn)是區(qū)分大小寫的。使用-i可以忽略掉大小寫問題

復(fù)制代碼

sort 1.txt | uniq –c –i

1 alpha css web

1 cat linux command

3 error php function

1 hello world

3 onmpw web site

1 recruise page site

1 repeat no data

1 wello web site

復(fù)制代碼

現(xiàn)在再看是不是大小寫已經(jīng)忽略掉了。

-u 只輸出沒有重復(fù)的數(shù)據(jù)

復(fù)制代碼

sort 1.txt | uniq –iu

alpha css web

cat linux command

hello world

recruise page site

repeat no data

wello web site

復(fù)制代碼

看到?jīng)],結(jié)果中的“error php function”和“onmpw web site”都沒有被輸出。

-w N 表示從第一個字符開始只檢索N個字符來判重。

復(fù)制代碼

sort 1.txt | uniq –iw 2

alpha css web

cat linux command

error php function

hello world

onmpw web site

recruise page site

wello web site

復(fù)制代碼

這里我們讓uniq只對前兩個字符進(jìn)行檢索,recruit 和 repeat前兩個字符都是re,所以這兩行也被認(rèn)為是重復(fù)的。

-f N 表示略過前面N個字段,從第N+1個字段開始檢索重復(fù)數(shù)據(jù)。以空格符或者tab鍵為分隔符。

復(fù)制代碼

sort 1.txt | uniq –icf 2

1 alpha css web

1 cat linux command

3 error php function

1 hello world

4 onmpw web site

1 repeat no data

1 wello web site

復(fù)制代碼

我們在結(jié)果中可以看到,這是略過前面的2個字段,從第三個字段開始判重的。“recruise page site” 和 “onmpw web site”的第三個字段相同,所以被認(rèn)為是相同的數(shù)據(jù)。但是我們看到,“wello web site”和“onmpw web site”不但第三個字段相同,第二個也相同。那為什么它不被計入“onmpw web site”的重復(fù)數(shù)據(jù)中呢。對于這個問題就要回到前面說的,uniq只檢測相鄰的數(shù)據(jù)是否是重復(fù)的。

要解決這個問題還需要在sort命令上著手。還記得sort命令的-k選項嗎,沒錯,我們就用它來解決。

復(fù)制代碼

sort –k 2 1.txt | uniq –icf 2

1 alpha css web

1 cat linux command

1 repeat no data

1 recruise page site

3 error php function

4 onmpw web site

1 hello world

復(fù)制代碼

我們看,是不是解決了。

-s N表示略過前面N個字符,關(guān)于這個選項的例子我們這里就不再舉了,該選項和-f N的用法差不多。只不過-f N是略過前面N個字段;-s是略過前面N個字符。

-d 只輸出有重復(fù)項的第一條的數(shù)據(jù)。

sort 1.txt | uniq -idw 2

repeat no data

error php function

onmpw web site

結(jié)果只有這三條。為什么會有“repeat no data”這條數(shù)據(jù),這里注意-w 2的應(yīng)用。

-D 對于重復(fù)項全部輸出

復(fù)制代碼

sort 1.txt | uniq –iDw 2

repeat no data

recruise page site

error php function

error php function

Error PHP function

onmpw web site

onmpw web site

onmpw web site

復(fù)制代碼

好了,關(guān)于uniq的選項的所有常用的命令已經(jīng)都介紹完了。關(guān)于uniq更詳細(xì)的信息可以使用命令info uniq。

本文題目:linux命令對某行去重的簡單介紹
網(wǎng)頁路徑:http://chinadenli.net/article10/hedido.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT面包屑導(dǎo)航微信公眾號關(guān)鍵詞優(yōu)化靜態(tài)網(wǎng)站自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)