溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么刪除重復(fù)的文本行

發(fā)布時間:2021-08-02 15:56:28 來源:億速云 閱讀:561 作者:Leah 欄目:系統(tǒng)運(yùn)維

Linux中怎么刪除重復(fù)的文本行,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1、sort命令 - 在Linux和類Unix系統(tǒng)中對文本文件行進(jìn)行排序。

2、uniq命令 - 在Linux或Unix上運(yùn)行或省略重復(fù)的行

Linux中怎么刪除重復(fù)的文本行

使用Sort,Uniq和Shell管道刪除重復(fù)行

使用以下語法:

sort {file-name} | uniq -u  sort file.log | uniq -u

使用uniq刪除重復(fù)的行

以下是使用cat命令顯示的名為garbage.txt的示例測試文件:

linuxidc@linuxidc:~/www.linuxidc.com$ cat linuxidc.com.txt

樣本輸出:

Linux公社(www.linuxidc.com)于2006年9月25日注冊并開通網(wǎng)站  Linux現(xiàn)在已經(jīng)成為一種廣受關(guān)注和支持的一種操作系統(tǒng)  IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關(guān)于Linux的數(shù)據(jù)中心。  實(shí)時發(fā)布***Linux資訊  Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站  實(shí)時發(fā)布***Linux資訊,包括Linux、Ubuntu、Fedora、RedHat  Linux教程、Linux認(rèn)證、SUSE Linux、Android、Oracle、Hadoop等技術(shù)。  實(shí)時發(fā)布***Linux資訊  實(shí)時發(fā)布***Linux資訊

從Linux上的文本文件中刪除重復(fù)的行

鍵入以下命令以刪除所有重復(fù)行:

linuxidc@linuxidc:~/www.linuxidc.com$ sort linuxidc.com.txt | uniq -u

樣本輸出: 

IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關(guān)于Linux的數(shù)據(jù)中心。 Linux公社(www.linuxidc.com)于2006年9月25日注冊并開通網(wǎng)站  Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站  Linux教程、Linux認(rèn)證、SUSE Linux、Android、Oracle、Hadoop等技術(shù)。  Linux現(xiàn)在已經(jīng)成為一種廣受關(guān)注和支持的一種操作系統(tǒng)  實(shí)時發(fā)布***Linux資訊,包括Linux、Ubuntu、Fedora、RedHat

Linux中怎么刪除重復(fù)的文本行

在這里,

-u:檢查是否有嚴(yán)格的排序,刪除所有重復(fù)的行。

在Linux上排序文件內(nèi)容

我們假設(shè)您有一個名為users.txt的文件:

cat linuxidc.txt  Linux Idc 22/11/72  Zhang San 12/01/69  Li Ai  30/12/88  A Bao 15/08/76  Chen Xiao  05/06/77  Shen Lin 13/02/75  Da Cen 21/10/73  Zhang San 12/01/69

讓我們排序,運(yùn)行:

sort linuxidc.txt

接下來按姓氏排序,運(yùn)行:

sort -r linuxidc.txt

想以相反的順序排序? 嘗試:

sort +2 linuxidc.txt

Linux中怎么刪除重復(fù)的文本行

您可以在排序文件時消除文件中的任何重復(fù)條目,運(yùn)行:

sort +2 -u linuxidc.txt  sort -u linuxidc.txt

沒有任何選項(xiàng),sort會比較文件中的整行,并以ASCII順序輸出。 您可以使用選項(xiàng)控制輸出。

如何使用uniq命令刪除Linux上的重復(fù)行

使用以下文件:

linuxidc@linuxidc:~/www.linuxidc.com$ cat -n linuxidc.txt

樣本輸出: 

1 www.linuxidc.com     2 Linux公社     3 linuxidc     4 linuxidc.com     5 ------------     6 5566778899     7 5566778899     8 5566778899

uniq命令從文件中刪除第8行,并將結(jié)果放在名為linuxidc.com.txt的文件中:

uniq linuxidc.txt linuxidc.com.txt

驗(yàn)證它:

cat -n linuxidc.com.txt

Linux中怎么刪除重復(fù)的文本行

如何使用uniq命令刪除重復(fù)的行

如何刪除.txt文件中的重復(fù)行并將結(jié)果保存到新文件

請嘗試以下任一語法:

sort shuru_wenjian | uniq > shuchu_wenjian  sort shuru_wenjian | uniq -u | tee shuchu_wenjian

總結(jié)

sort命令用于對文本文件的行進(jìn)行排序,uniq過濾從文本文件中復(fù)制相鄰的行。 這些命令有許多有用的選項(xiàng)。 我建議您通過鍵入以下man命令來閱讀手冊頁:

man sort  man uniq

看完上述內(nèi)容,你們掌握Linux中怎么刪除重復(fù)的文本行的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI