Здравствуйте, я пытался удалить дубликаты в текстовом файле с помощью плагина TextFX в notepad++, но это не работает для этого типа текста

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

Если у кого-то есть идея или команда регулярного выражения, чтобы это исправить, я был бы признателен, пожалуйста, и дал команды для обоих благодарностей.

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .