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

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


咨詢
建站咨詢
