5 июн в 13:20 (OFF) meduza (B) :

Как быстро удалить дубликаты логов




Данная статья пригодится тем, кто удаляет дубли ручками

Дубликаты логов выглядят так, в их названии есть суффикс: (2); (3) и тд


Именно по ним наш код и понимает, где дубль
Способ работает только если название у каждого лога уникальное
Например, если в названии указывается ip компьютера

Код Python:
import os
import re

def delete_duplicates():
script_path = os.path.dirname(os.path.abspath(__file__))
files = os.listdir(script_path)
duplicates = {}

# Поиск файлов с дубликатами
for file_name in files:
match = re.search(r"(\(\d+\))", file_name)
if match:
base_name = re.sub(r"(\(\d+\))", "", file_name)
if base_name in duplicates:
duplicates[base_name].append(file_name)
else:
duplicates[base_name] = [file_name]

# Удаление дубликатов
for base_name in duplicates:
files_to_delete = duplicates[base_name]
for file_name in files_to_delete:
file_path = os.path.join(script_path, file_name)
os.remove(file_path)
print("Удален файл:", file_path)

print("Удаление дубликатов завершено!")

# Пример использования
delete_duplicates()

Что делать с этим кодом ?

1. Качаете Python с официального сайта
2. Создаёте файл с любым названием ( например: RemoveDubl .py )
Расширение .py обязательно !!
3. Вставляете в него код
4. Кидаете этот файл в папку с логами и запускаете

Дубликаты успешно удалены
Сообщество: www.deepl

Комментарии (0)

Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Мир Теней
Народ Тьмы, мастерски владеющий магией или народ...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play