Linux中怎么刪除重復的文本行,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設計,網(wǎng)站設計制作、成都做網(wǎng)站,網(wǎng)站設計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務,680元做網(wǎng)站,已為數(shù)千家服務,創(chuàng)新互聯(lián)網(wǎng)站建設將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設、網(wǎng)絡營銷推廣服務!
1、sort命令 - 在Linux和類Unix系統(tǒng)中對文本文件行進行排序。
2、uniq命令 - 在Linux或Unix上運行或省略重復的行
使用Sort,Uniq和Shell管道刪除重復行
使用以下語法:
sort {file-name} | uniq -u sort file.log | uniq -u
使用uniq刪除重復的行
以下是使用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)成為一種廣受關注和支持的一種操作系統(tǒng) IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關于Linux的數(shù)據(jù)中心。 實時發(fā)布***Linux資訊 Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站 實時發(fā)布***Linux資訊,包括Linux、Ubuntu、Fedora、RedHat Linux教程、Linux認證、SUSE Linux、Android、Oracle、Hadoop等技術。 實時發(fā)布***Linux資訊 實時發(fā)布***Linux資訊
從Linux上的文本文件中刪除重復的行
鍵入以下命令以刪除所有重復行:
linuxidc@linuxidc:~/www.linuxidc.com$ sort linuxidc.com.txt | uniq -u
樣本輸出:
IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關于Linux的數(shù)據(jù)中心。 Linux公社(www.linuxidc.com)于2006年9月25日注冊并開通網(wǎng)站 Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站 Linux教程、Linux認證、SUSE Linux、Android、Oracle、Hadoop等技術。 Linux現(xiàn)在已經(jīng)成為一種廣受關注和支持的一種操作系統(tǒng) 實時發(fā)布***Linux資訊,包括Linux、Ubuntu、Fedora、RedHat
在這里,
-u:檢查是否有嚴格的排序,刪除所有重復的行。
在Linux上排序文件內(nèi)容
我們假設您有一個名為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
讓我們排序,運行:
sort linuxidc.txt
接下來按姓氏排序,運行:
sort -r linuxidc.txt
想以相反的順序排序? 嘗試:
sort +2 linuxidc.txt
您可以在排序文件時消除文件中的任何重復條目,運行:
sort +2 -u linuxidc.txt sort -u linuxidc.txt
沒有任何選項,sort會比較文件中的整行,并以ASCII順序輸出。 您可以使用選項控制輸出。
如何使用uniq命令刪除Linux上的重復行
使用以下文件:
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行,并將結果放在名為linuxidc.com.txt的文件中:
uniq linuxidc.txt linuxidc.com.txt
驗證它:
cat -n linuxidc.com.txt
如何使用uniq命令刪除重復的行
如何刪除.txt文件中的重復行并將結果保存到新文件
請嘗試以下任一語法:
sort shuru_wenjian | uniq > shuchu_wenjian sort shuru_wenjian | uniq -u | tee shuchu_wenjian
總結
sort命令用于對文本文件的行進行排序,uniq過濾從文本文件中復制相鄰的行。 這些命令有許多有用的選項。 我建議您通過鍵入以下man命令來閱讀手冊頁:
man sort man uniq
看完上述內(nèi)容,你們掌握Linux中怎么刪除重復的文本行的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!