3

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

Party Started 10:17 (89/1/2)
Party Started 10:17 (89/1/2)
Party Started 10:17 (89/1/2)
Jessica At Dinner 17:54 (89/1/2)
Jessica At Dinner 17:54 (89/1/2)
Jessica At Dinner 17:54 (89/1/2)

Как я могу очистить его и получить дубликаты строк, это около 69 587 строк

3 ответа3

8

Вы можете использовать uniq , стандартный с Bash. Просто введите:

uniq filewithdup.txt > filenew.txt
5

Поскольку вы упоминаете MS Office, я дам вам собственное решение для Windows.

Если вы используете Windows Vista или более позднюю версию, встроенная оболочка Windows PowerShell. Вы можете использовать команду Get-Unique:

Командлет Get-Unique сравнивает каждый элемент в отсортированном списке со следующим элементом, удаляет дубликаты и возвращает только один экземпляр каждого элемента. Список должен быть отсортирован для правильной работы командлета.

Get-Content input.txt | Get-Unique | Set-Content output.txt

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

Get-Content input.txt | Sort-Object -Unique | Set-Content output.txt
1

Regex был помечен так:

/(.+)\n\1/g

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