тгТихая грань
ОПЕРАЦИЯ · ЦЕЛОСТНОСТЬ

Найти дубликаты по хешу

Сгруппировать обычные файлы с одинаковым SHA-256.

Инструмент: Python 3 · риск: read-only · проверено: 2026-02-21

Предварительные условия

Python 3; стабильный каталог samples, без меняющихся файлов.
Команда
python3 - <<'PY'
import hashlib
from pathlib import Path
groups = {}
for p in sorted(Path("samples").rglob("*")):
    if p.is_symlink() or not p.is_file(): continue
    h = hashlib.sha256()
    with p.open("rb") as f:
        while b := f.read(1048576): h.update(b)
    groups.setdefault(h.hexdigest(), []).append(str(p))
for paths in groups.values():
    if len(paths) > 1: print(repr(paths))
PY

Объяснение аргументов

Чтение блоками; repr предотвращает интерпретацию переводов строки в именах как новых записей.

Ожидаемый результат

Группы кандидатов на побайтовое равенство; ничего не удаляется.

Проверка

При необходимости строгого равенства дополнительно сравните байты.

Распространённые ошибки

  • Одинаковые файлы могут быть нужны в разных местах; список путей тоже занимает память.

Обратимость

Никаких изменений.

Применимые форматы

plain-text zip