是否可以在Notepad ++中刪除重複的行,只留下一行出現的行?在記事本中刪除重複的行++
回答
Notepad ++可以做到這一點,只要你想按行排序,並同時刪除重複的行。
您將需要TextFX插件。它曾經被包含在老版本的Notepad ++中,但是如果你有更新的版本,你可以通過Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
從菜單中添加它。在某些情況下,它也可能被稱爲TextFX Characters
,但這是相同的東西
所需的複選框和按鈕現在將出現在菜單下:TextFX -> TextFX Tools
。
確保選中「僅排序輸出唯一...」。接下來,選擇一個文本塊(Ctrl + A選擇整個文檔)。最後,單擊「排序線區分大小寫」或「之類的行不區分大小寫」
如果你不關心行順序(我不認爲你這樣做),那麼你可以使用一個Linux/FreeBSD的/ MacOSX的/ Cygwin的框,並執行:
$ cat yourfile | sort | uniq > yourfile_nodups
然後打開在Notepad ++中再次文件。
在Windows 7上不起作用。'貓'不被識別爲內部或外部命令,可操作程序或批處理文件。' – 2014-12-11 16:50:35
@Iain Elder:cat是標準的Unix工具,這就是爲什麼這個答案指定它可以在linux,FreeBSD和MacOSX上運行。答案還表明Cygwyn:這是一個Windows程序,它爲您提供了一個unix風格的外殼,並且帶有它。長話短說(太晚了!):Win 7需要Cygwin來做到這一點。 – 2015-01-14 16:14:39
在windows中你有powershell:'cat yourfile |排序 - 獨特' – Elazar 2015-08-05 11:32:14
如果行立即都是經過對方,那麼你可以使用正則表達式替換
搜索模式:^(.*\r?\n)(\1)+
替換爲:\1
也許別人對此有好運,但對於我^(。* \ n)\ 1導致「無法找到文本」 – 2012-04-28 18:18:18
@ b1naryatr0phy確保您將「搜索模式」設置爲「正則表達式」,我也更新了該模式,以便它可以處理窗口樣式行結尾 – 2012-05-01 13:25:27
notepad ++有一個輕型正則表達式引擎,它不允許高級功能,甚至不是「?或\ r \ n」,因爲它只能在一條線上工作,並且您使用$爲\ r \ n字符 – 2012-05-25 16:39:33
Notepad ++的後面版本根本沒有包含TextFX插件。爲了使用插件排序/消除重複項,插件必須下載並安裝(更多參與)或使用插件管理器添加。 A)簡單的方法(如描述的here)。
插件 - >插件管理器 - >顯示插件管理器 - >可用選項卡 - > TextFX字符 - >安裝
B)更多的參與方式,如果需要另一個版本或簡單的方法是行不通的。
下載從SourceForge插件:
打開ZIP文件,解壓縮NppTextFX.dll
廣場NppTextFX。DLL在記事本+ +插件目錄,如:
C:\ Program Files文件\記事本++ \插件啓動記事本++,並TextFX將文件菜單項(由柯林回答#1以上可見Pickard)
安裝TextFX插件後,請按照答案#1中的說明進行排序和刪除重複項。
另外,如果您經常使用此命令或想要複製鍵盤快捷鍵(例如TextPad中的F9)進行排序,請考慮使用設置> Shorcut映射器設置鍵盤快捷鍵。
自從記事本++版本6你可以在搜索中使用這個表達式和替換對話:
^(.*?)$\s+?^(?=.*^\1$)
和更換什麼。這會從所有重複行中留下文件中的最後一個事件。
不需要排序,重複行可以在文件中的任何位置!
你需要檢查選項 「正則表達式」 和 「匹配換行符。」:
^
行的開頭匹配。(.*?)
匹配0或更多次的任何字符,但儘可能少(它匹配在行上,這是因爲「。matches newline」選項需要)。匹配的行被存儲,因爲可以使用左右括號並且可以使用\1
$
匹配行結束。\s+?^
這部分匹配所有的空格字符(換行符)直到下一行的開始==>這將刪除匹配行後的換行符,以便在替換後沒有空行。(?=.*^\1$)
這是一個積極的lookahead斷言。這是這個正則表達式中的重要部分,只有在文件中某個地方出現完全相同的行時纔會匹配(併除去)一行。
這個比其他正則表達式更好。無需多次傳遞消除所有重複。 – Benny 2013-06-20 03:55:12
哦,這一個是輝煌的,它甚至刪除空行,我正在宏觀它這一刻:) – Aprillion 2013-06-28 16:14:09
偉大的學習。精確的解釋!感謝提升者和答覆者! – SarjanWebDev 2013-10-29 01:50:54
搜索正則表達式:\ B(\ W +)\ B([\ W \ W] *)\ B \ 1 \ b
其替換爲:$ 1 $ 2
點擊替換按鈕,直到文件中沒有更多匹配正則表達式。
創建一個測試文件來嘗試這個,但正則表達式不能可靠地工作,以完成工作。 – RockPaperLizard 2016-03-20 05:29:23
沒有爲我工作。
一種解決方案是:
替換
^\ S + + $
與
\ 1
(。*)(\ r \ n \ 1個\ S +?)來源: http://sortedinf.com/?q=remove-duplicate-rows-in-notepad-plus-plus
創建一個測試文件來嘗試這個,但正則表達式不能可靠地工作來完成工作。 – RockPaperLizard 2016-03-20 05:28:30
對於我的所有數據,它工作得很好。我忘記了我的解決方案。在失敗的位置添加更多細節,以便其他人可以改進此正則表達式。 – 2016-03-20 05:46:58
我創建了一個文件,每行都有一個0-999之間的整數,按照隨機順序,有時候是重複的。它沒有刪除大部分重複項,也沒有刪除沒有順序的重複項。 – RockPaperLizard 2016-03-20 05:58:27
記事本++
- >替換窗口
確保在搜索模式
您選擇正則表達式單選按鈕
查找內容:
^(*。 )(\ r?\ n \ 1)+ $
替換:
$ 1
前:
,我們認爲有
,我們認爲有
單行
是否有可能
是否有可能
後:
,我們認爲有
單行
是否有可能
的插件管理器是當前不可用(不來分配)的記事本+ +,您必須手動安裝(https://github.com/bruderstein/nppPluginManager/releases),甚至,如果你這樣做,很多插件不可用不再(沒有TextFX)插件。
也許有它包含所需功能的另一個插件。除此之外,做在記事本中唯一的辦法++是使用匹配,然後更換一些特殊正則表達式(CTRL + F - >替換選項卡)。
雖然有通過編輯菜單項可用的許多功能(修邊,去除空行,分選,轉換EOL)沒有可用的「獨特的」的操作。
我有Windows 10,然後你可以啓用Bash(只需在Microsoft Store中鍵入Ubuntu並按照說明中的說明進行安裝)並使用cat your_file.txt | sort | uniq > your_file_edited.txt
。當然,你必須和「your_file.txt」在同一個工作目錄下,或者通過它的路徑引用它。
- 1. 刪除所有重複行記事本++
- 2. 記事本++如何刪除重複
- 3. 從記事本中刪除重複的行++
- 4. 如何在記事本++/EditPad中刪除重複的字符串?
- 5. 記事本++一行刪除詞重複的
- 6. 在記事本中刪除行號++
- 7. 記事本++刪除行
- 8. 刪除在記事本++
- 9. 記事本++刪除匹配的行
- 10. 在SAS中刪除重複記錄
- 11. 在記事本++中刪除具有不同結尾的重複項
- 12. 如何通過記事本刪除文本文件中重複的單詞++
- 13. 使用RegEx(記事本+ +)刪除重複的字符串/字(不是行)
- 14. 記事本++如何刪除行號?
- 15. 刪除「重複」記錄
- 16. XSL刪除重複記錄
- 17. AngularJS - 刪除重複記錄
- 18. Mysql - 刪除重複記錄
- 19. oracle |刪除重複記錄
- 20. 刪除重複記錄
- 21. 刪除重複記錄
- 22. 刪除重複記錄?
- 23. ActiveRecord:刪除重複記錄
- 24. 在記事本+ +中,從每行刪除起始文本?
- 25. 刪除重複行
- 26. 刪除重複行
- 27. 刪除重複行
- 28. 刪除sql表中的重複記錄
- 29. 刪除列表中的重複記錄
- 30. 刪除表中的重複記錄
儘管它的「年齡」,卻非常強大的插件。希望他們永遠不會從標準的NPP插件報價中刪除那個。那個想到這個插件中所有功能的人,是一個「有遠見的人」。 – GeertVc 2014-09-01 09:32:31
請注意,如果該文件是隻讀的,則此方法不會給出任何警告。無論如何,我的文件被分類,所以似乎該工具已經工作,直到我發現重複。相當令人沮喪,直到我嘗試@ stema的搜索和替換方法,它警告我。 – 2014-12-04 12:44:02
比excel更強大。 – Vasu 2015-04-22 21:58:02