Як видалити певну дублюючу лінію в Notepad ++


0

Здравствуйте, я спробував видалити дублікати в текстовому файлі за допомогою плагіна TextFX в блокноті ++, але він не працює для цього типу тексту

209.116.247.120|admin|default|Taiwan (TW)|Tai-pei|Taipei|Unknown
209.116.247.120|admin|default|
209.116.49.130|admin|admin
209.116.49.130|admin|admin|China (CN)|Henan|Zhengzhou|Unknown
209.116.55.142|admin|admin
209.116.55.142|admin|admin|Korea, Republic of (KR)|Seoul-t'ukpyolsi|Seoul|Unknown
209.116.65.26|admin|admin
209.116.65.26|admin|admin|New Zealand (NZ)|Unknown|Unknown|Unknown

Як ви можете бачити, є дублікати з доданими країнами, тому я хотів би видалити ці дублікати

209.116.247.120|admin|default|
209.116.49.130|admin|admin
209.116.55.142|admin|admin
209.116.65.26|admin|admin

або чи є ці дублікати

209.116.247.120|admin|default|Taiwan (TW)|Tai-pei|Taipei|Unknown
209.116.49.130|admin|admin|China (CN)|Henan|Zhengzhou|Unknown
209.116.55.142|admin|admin|Korea, Republic of (KR)|Seoul-t'ukpyolsi|Seoul|Unknown
209.116.65.26|admin|admin|New Zealand (NZ)|Unknown|Unknown|Unknown

Якщо хтось має якісь ідеї або regex команда, щоб виправити це, я був би вдячний, будь ласка, і дати команди для обох завдяки.


Я не думаю, що це можливо з регулярним виразом.
DavidPostill

Відповіді:


2

Тільки якщо послідовні дублікати:

  • Ctrl + H
  • Знайти що: ^(([^|]+[|][^|]+[|][^|]+)[|]?.*)\R\2
  • Замінити: $1
  • Замінити все

Пояснення:

^           : begining of line
(           : start group 1
  (         : start group 2
    [^|]+   : 1 or more NON pipe character |
    [|]     : a pipe
    [^|]+   : 1 or more NON pipe character |
    [|]     : a pipe
    [^|]+   : 1 or more NON pipe character |
  )         : end group 2
  [|]?      : a pipe, optional
  .*        : 0 or more any character but newline
)           : end group 1
\R          : any kind of line break
\2          : backreference to group 2
  • Не перевіряйте . matches newline

Заміна:

$1          : content of group, the first dupplicate line

Результат для наведеного прикладу:

209.116.247.120|admin|default|Taiwan (TW)|Tai-pei|Taipei|Unknown|
209.116.49.130|admin|admin|China (CN)|Henan|Zhengzhou|Unknown
209.116.55.142|admin|admin|Korea, Republic of (KR)|Seoul-t'ukpyolsi|Seoul|Unknown
209.116.65.26|admin|admin|New Zealand (NZ)|Unknown|Unknown|Unknown

Завдяки людині ви врятували мій день :) чи є якийсь вікно чату в стеку, де я можу поговорити з вами, якщо я отримаю які-небудь проблеми?
Vicky Malhotra

@VickyMalhotra: Ваш привіт, раді, що це допомагає. Я не знаю, чи є тут чат.
Toto

@VickyMalhotra: Вибачте, але я віддаю перевагу обміну на цьому сайті.
Toto

ОК не проблема людини :) Я сподіваюся, що є можливість спілкуватися в чаті або замість цього я згадаю вас в коментарях, тому що я отримую багато типів Notepad + + помилки і мені потрібна допомога для цього :( і ви, здається, у вас є хороші знання regex команди в блокноті ++!
Vicky Malhotra
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.