刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

正文

純文本是很常見的在計算機上儲存數(shù)據(jù)的方式。創(chuàng)建文本文件不僅非常簡單,而且編輯起來也非常容易,因為可以使用像Windows記事本之類的工具完成。

文本文件也是一種通用格式,這意味著它可以在多種平臺上讀取,包括 Windows、Mac、Linux、手機、平板電腦,以及幾乎所有介于兩者之間的平臺。

如果你平時需要將多個文本進行合并,那么文本去重則是一個很常見的需求。

你可以自己手動刪除所有重復(fù)項,但顯然自動化去除會更輕松一些。

在這里,我們向你展示了許多不同的方法,您可以通過這些方法從文本文件中刪除重復(fù)的行。

使用第三方實用程序刪除重復(fù)行

從文本文件中刪除重復(fù)行的一種簡單而常用的方法是使用專用的第三方實用程序。

1. TextCrawler 免費

TextCrawler 是一個非常強大的免費軟件程序,主要用于搜索和替換文本文件中的數(shù)據(jù)。
盡管功能強大,TextCrawler 相對易于使用,并且刪除重復(fù)行選項實際上位于一個單獨的窗口中,稱為 Scratchpad。
安裝(或使用 7-Zip 解壓縮安裝程序以使其可移植)并啟動 TextCrawler。轉(zhuǎn)到“工具”菜單 >“便箋簿”或按 F2。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

將文本粘貼到窗口中,然后按Do按鈕。默認(rèn)情況下,應(yīng)該已經(jīng)在下拉列表中選擇了刪除重復(fù)行選項。
如果沒有,請先選擇它。按保存創(chuàng)建一個新的文本文件或?qū)⑽谋緩?fù)制并粘貼回文本編輯器。
下拉菜單還有其他選項可以刪除空格并按升序或降序?qū)ξ谋具M行排序。
重復(fù)的行還需要匹配大小寫以及要刪除的內(nèi)容。

2. 重復(fù)行去除器

Duplicate Lines Remover 來自安全公司 NoVirusThanks,出于某種原因,該程序已經(jīng)被他們從網(wǎng)站上刪除了,但幸運的是官方下載鏈接仍然可用。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

要刪除重復(fù)行,瀏覽文件或?qū)⑽募戏诺酱翱谥校瑔螕魴z查,如果發(fā)現(xiàn)重復(fù)行,單擊修復(fù)并選擇一個保存名稱。
您還可以使用“文件掃描”選項卡一次批量處理多個文件,包括子文件夾中的文件。
請注意,它會自動創(chuàng)建 .bak 備份并用處理過的文件替換原始文件。使用掩碼框并添加文件擴展名以停止處理所有內(nèi)容。
軟件包中還為腳本和更高級的用戶提供了專用的命令行版本。

3. TextMechanic離線版

軟件名中的“離線”是為了將此工具與在線 TextMechanic 服務(wù)區(qū)分開來,因為兩者不相關(guān)。該工具是一個可移植的可執(zhí)行文件,托管在SourceForge網(wǎng)站上。
除了刪除重復(fù)和空行,TextMechanic Offline 還可以刪除包含特定文本的行或查找和替換文本。Windows 10 用戶需要 .NET Framework 3.5。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

在按Remove Duplicate Lines之前,將要處理的文本粘貼到 TextMechanic 窗口中。
然后也按刪除空行,否則文本將包含已刪除重復(fù)項的空行。最后,按保存到剪貼板, 以便將更正后的文本粘貼回文本編輯器。
此工具區(qū)分大小寫,因此如果要刪除行,則它們的大小寫和內(nèi)容都必須相同。

4. RemoveDup(由Raymond.cc修改)

該軟件是開源且可移植的。您所要做的就是運行它并瀏覽文本文件,然后按繼續(xù)。剝離的文件將輸出到指定位置,并在文件名后附加“_NoDuplicates”。
該過程區(qū)分大小寫,因此一行“raymondcc”不會與“Raymondcc”重復(fù)。由于 RemoveDup 是開源的,我們對原始程序進行了一些更新和改進。

它現(xiàn)在使用 .NET Framework 4,這意味著 Windows 10 用戶不需要單獨安裝 .NET 3.5。輸入框現(xiàn)在具有拖放支持,因此您無需手動瀏覽即可將文本文件拖放到輸入框上。
最后,我們添加了一個復(fù)選框,使進程可以選擇忽略大小寫,因此“raymondcc”將是“Raymondcc”的副本。
請將有關(guān)修改版本的任何問題/反饋發(fā)送到本文的評論部分。修改后的源包含在存檔中。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

該軟件依賴 .NET Framework 4框架,這意味著Windows 10用戶不需要單獨安裝.NET 3.5。
輸入框支持拖放,因此你無需手動瀏覽即可將文本文件拖放到輸入框上。
最后,我們添加了一個復(fù)選框,使進程可以選擇忽略大小寫,因此“raymondcc”將是“Raymondcc”的副本。

5.Notepad++

Notepad++ 是一個功能豐富且流行的文本編輯器,它從來沒有集成過刪除重復(fù)行的功能。
需要一個名為 TextFX 的額外插件。但是,在最近的版本中,從文本文件中刪除重復(fù)行的功能現(xiàn)在直接內(nèi)置到程序中。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

您所要做的就是單擊“編輯”菜單并轉(zhuǎn)到“文件操作”。有兩種選擇;刪除重復(fù)行和刪除連續(xù)重復(fù)行。第一個是不言自明的,它只是從文本中刪除所有完全重復(fù)的行。
第二個選項僅刪除在下一行有重復(fù)項的行,而兩個重復(fù)項之間的不同行將被忽略。

Notepad++ 重復(fù)行菜單功能區(qū)分大小寫。您還可以使用搜索和替換 (Ctrl+H) 運行忽略大小寫的簡單刪除操作。
將不帶引號的“(?si)^(.+?\R)(?=(?:.+\R)?\1)”粘貼到“Find what:”框中,確保“Replace with:”為空,選擇正則表達式搜索模式,然后按“全部替換”。
保留文件中每個重復(fù)行的最后一次出現(xiàn)。

使用Windows 命令刪除重復(fù)行

混合使用內(nèi)置的 Windows 命令,可以從文本文件中刪除重復(fù)的行。

6.使用批處理腳本

將這些命令放在一個批處理腳本中,可以快速輕松地進行處理。如果您的計算機對運行第三方軟件有任何限制,這也很有用。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

一個 BAT 文件區(qū)分大小寫,除非它們的大小寫也相同,否則不會改變行,另一個腳本不區(qū)分大小寫。
要刪除重復(fù)的行,請將文本文件拖放到 .BAT 文件中,它會自動處理并輸出帶有 _deduped 后綴的同一文件夾中的文件。
這些行不會重新排序,而是原地刪除,如果您想保持與原始行順序相同的行順序,這是理想的選擇。

使用在線服務(wù)刪除重復(fù)行

有許多在線服務(wù)可以完成從文本中刪除重復(fù)行的工作,我們選擇了一些應(yīng)該滿足您需求的服務(wù)。

7. PineTools 在線刪除重復(fù)行

PineTools 是我們最喜歡的網(wǎng)站,因為它擁有大量用于各種任務(wù)的在線工具。

網(wǎng)址:https://pinetools.com/remove-duplicate-lines

它們的范圍從顏色選擇器、日期/時間工具和(隨機)數(shù)字生成器到圖像編輯器、編程語法熒光筆和數(shù)學(xué)計算器。有近20種文本和列表工具,其中去除重復(fù)行就是其中之一。

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

只需將文本粘貼到原始文本框中,按REMOVE,過濾后的文本就會出現(xiàn)在無重復(fù)行框中。
按“全選”并將其復(fù)制回文本編輯器。有忽略大小寫、轉(zhuǎn)換為大寫/小寫、忽略/刪除空行以及按字母順序?qū)敵鲞M行排序的選項。
更改選項后再次按刪除以查看結(jié)果。

8.文本機器

不要將此網(wǎng)站與 TextMechanic Offline 工具混淆,因為兩者是不同人的獨立產(chǎn)品。
TextMechanic 有許多不同的基于在線文本的操作工具。
除了只刪除重復(fù)的行,如果您想同時使用所有其他工具,請使用多合一文本操作記事本 。

網(wǎng)址:http://textmechanic.com/text-tools/basic-text-tools/remove-duplicate-lines/

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

有兩種方法可以讓你的文本進入窗口;使用加載文件按鈕瀏覽文本文件或按藍色 C 按鈕清除窗口中的當(dāng)前文本并粘貼您自己的文本。

然后單擊刪除重復(fù)行按鈕。如果您的文本需要,“區(qū)分大小寫”和“刪除空行”復(fù)選框可用。已刪除顯示在單獨的框中顯示已刪除的行。

完成后,單擊另存為按鈕或按 S 選擇所有文本,右鍵單擊并復(fù)制它 (Ctrl+C),準(zhǔn)備粘貼到文本編輯器中。

軟件可以在右側(cè)打包下載:

刪除文本文件中重復(fù)行的8種方法 (文本去重方法匯總)

原文地址:https://www.raymond.cc/blog/remove-duplicate-lines-with-textcrawler-scratchpad-or-notepad 翻譯過程中有改動。