新聞中心
如何在linux中使用uniq命令去除重復(fù)行?

在Linux操作系統(tǒng)中,經(jīng)常需要對(duì)文本文件進(jìn)行處理,而去除文本文件中的重復(fù)行是一個(gè)很常見(jiàn)的需求。這時(shí)就需要使用Linux內(nèi)置的uniq命令。下面將介紹如何在Linux中使用uniq命令去除重復(fù)行。
1. 命令格式
uniq命令的基本語(yǔ)法如下:
“`shell
uniq [OPTION]… [INPUT [OUTPUT]]
其中,OPTION是可選參數(shù),INPUT是輸入文件,如果省略則從標(biāo)準(zhǔn)輸入讀取,OUTPUT是輸出文件,如果省略則輸出到標(biāo)準(zhǔn)輸出。
2. 去除重復(fù)行
uniq命令可以直接去除重復(fù)行。默認(rèn)情況下,它只會(huì)去除相鄰的重復(fù)行,而不會(huì)去除整個(gè)文件中的重復(fù)行。例如:
```shell
$ cat test.txt
apple
orange
orange
banana
apple
$ uniq test.txt
apple
orange
banana
apple
以上命令中,cat測(cè)試文件,里面有5行,其中有3行有重復(fù)。使用uniq命令去除重復(fù)行后,輸出了4行,其中apple和orange還各自保留了一行。
如果要去除整個(gè)文件中的重復(fù)行,可以使用sort命令先對(duì)文件進(jìn)行排序,然后再使用uniq命令去除重復(fù)行。例如:
“`shell
$ sort test.txt | uniq
apple
banana
orange
3. 忽略重復(fù)行前面的空格
有時(shí),文本文件中的重復(fù)行前面可能有空格,這時(shí)需要使用uniq命令的-i選項(xiàng)忽略空格。例如:
```shell
$ cat test.txt
apple
orange
orange
banana
apple
$ sort test.txt | uniq -i
apple
banana
orange
以上命令中,cat測(cè)試文件,里面有5行,其中有3行有重復(fù)。使用sort命令先對(duì)文件進(jìn)行排序,然后使用uniq命令去除重復(fù)行,并使用-i選項(xiàng)忽略重復(fù)行前面的空格。
4. 統(tǒng)計(jì)重復(fù)行次數(shù)
uniq命令還可以使用-c選項(xiàng)來(lái)統(tǒng)計(jì)各個(gè)行的重復(fù)次數(shù)。例如:
“`shell
$ sort test.txt | uniq -c
2 apple
1 banana
2 orange
以上命令中,使用-c選項(xiàng)可以輸出每個(gè)重復(fù)行的個(gè)數(shù),我們發(fā)現(xiàn)apple和orange分別重復(fù)了2次。
5. 去除指定字段重復(fù)行
有時(shí)候,我們只需要按照某一個(gè)字段去重,這時(shí)需要使用uniq命令的-f選項(xiàng)指定字段,例如:
```shell
$ cat test.txt
apple,red
orange,orange
orange,yellow
banana,yellow
apple,green
$ sort test.txt | uniq -f 1
apple,green
banana,yellow
orange,orange
以上命令中,使用-f選項(xiàng)指定按照第二個(gè)字段去重,輸出結(jié)果只保留了不同的第二個(gè)字段的重復(fù)行。
綜上所述,我們?cè)贚inux中使用uniq命令去除重復(fù)行非常方便,可以輕松地對(duì)文本文件進(jìn)行處理,提高工作效率。
成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開(kāi)通再付費(fèi)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開(kāi)發(fā)老牌服務(wù)商!微信小程序開(kāi)發(fā),APP開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站營(yíng)銷(xiāo)推廣服務(wù)眾多企業(yè)。電話:028-86922220
網(wǎng)站名稱:如何在Linux中使用uniq命令去除重復(fù)行?(uniqlinux)
網(wǎng)站鏈接:http://m.fisionsoft.com.cn/article/dpddejs.html


咨詢
建站咨詢
