2013-07-09 18 views
1

我有這樣的文字在記事本++刪除重複線,其背後隨機文本

Random Text Here:188.0.0.0 
Random Text Here:188.0.3.0 
Random Text Here:188.2.0.0 

然而,一些在年底的數字是重複的,我想擺脫他們。例如:

Random Text Here:188.0.3.0 
Random Different Text Here:188.0.3.0 

我該如何去做這件事,因爲有成千上萬的這些線?

+0

呃,你想保留*秒*行嗎?爲什麼不是第一個或最後一個?另外,在你的例子中,不是重複的數字,而是數字(IP地址?)之前的文本*。你能澄清嗎? –

+0

你不能擺脫重複的數字 - 在我的意見中,分隔符(:)之前的文本和它創建一個鍵後識別該條目。只有當整行與現有行重複時(不考慮可能的時間戳,我會考慮刪除它們) – Marco

+0

對不起,應該更好地解釋它,它是重複的IP,而不是IP之前的文本。 。擺脫dublicate IP的,但隨機文本越來越從我的方式做 我想這一點: 隨機文本這裏:188.0.3.0 隨機不同的文字在這裏:188.0.3.0 要被留下: 在這裏的隨機文本:188.0.3.0 作爲第二個是相同的IP。 – user1372896

回答

1

在記事本++中,我會嘗試下面的多步驟過程。

(1)使用正則表達式來更改所有行,將IP地址和固定文本從Random Text Here:188.0.0.0開始放到:188.0.0.0!!!Random Text Here的前面。

(2)使用TextFx對文件進行排序,刪除重複項。

(3)使用正則表達式來查找和刪除重複項。這可能需要多次傳遞。

(4)使用正則表達式將文本放回正確的順序。

(5)(可選)再次對文件進行排序。

問題與上面的方法:

(一)進行排序第一爲一個IP地址將是一個保持,而不是先在原文件中的「隨機文本」。 (b)根據是否使用步驟(5),結果將按IP地址或隨機文本排序。

更詳細地:

(0)選擇一個字符或不在輸入文件中發生的短字符串。我將使用!!

(1)做一個正則表達式替換文件(用點確實選擇了不匹配換行符)更改^(.*)(:\d+\.\d+\.\d+\.\d+)$$2!!$1

(2)使用TextFx對文件進行排序。指定排序唯一可能有助於減少行數。

(3)做一個正則表達式替換文件(用點確實選擇了不匹配換行符)更改^(:\d+\.\d+\.\d+\.\d+)!!(.*)\r\n\1.*$$1!!$2。如果有多條IP地址相同的線路,則會刪除其中的大約一半。幾次運行相同的替換,直到它報告沒有更改。您可能需要根據行結束在文件中\r\n部分改變

(4)不要一正則表達式的文件替換(用點並選擇了不匹配換行符)更改^(:\d+\.\d+\.\d+\.\d+)!!(.*)$$2$1

(5)(可選)再次對文件進行排序。