fdupes

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

fdupes — программа написанная Андрианом Лопесом (Adrian Lopez), сканирующая папки для поиска дубликатов файлов, с возможностью вывода списка и автоматическим удалением дублей. Она сравнивает размер файла и MD5 хэш, и после сравнения начинает сверку по-байтно. Написана на языке программирования C и выпущена под Лицензией MIT.

Использование[править | править вики-текст]

fdupes -r /home/user/downloads

ключ -r — заставляет искать в том числе и в подкаталогах, ниже заданного.

Перенаправление в файл — удобно, если список дубликатов слишком большой:

fdupes -r /home/user/downloads > /home/user/duplicates.txt

Поиск файлов повторяющихся более одного раза и сохранение результатов в файл:

awk 'BEGIN{d=0} NF==0{d=0} NF>0{if(d)print;d=1}' /home/user/duplicates.txt > /home/user/duplicates.to.delete.txt

Заключение всех строк имен файлов в апострофы (чтобы исключить влияние пробелов в именах для следующей команды rm)

sed "s/\(.*\)/'\1'/" /home/user/duplicates.to.delete.txt  > /home/user/duplicates.to.delete.ok.txt

Удаление файлов повторяющихся более одного раза:

xargs rm < /home/user/duplicates.to.delete.ok.txt

Аналогичные программы[править | править вики-текст]

Другие программы в юниксоподобных системах, служащие для поиска дубликатов:

  • duff (англ).
  • dupmerge (англ). — работает на различных платформах (Win32/64 with Cygwin, *nix, Linux и т. п.)
  • fdf (англ). — основана на Perl/c и запускается на большинстве платформ (Win32, *nix и вероятно и других). Использует MD5, SHA1 и другие алгоритмы подсчёта контрольной суммы
  • freedup (англ). — совместима со стандартом POSIX C и запускается на различных платформах (Windows с использованием средств Cygwin, Linux, AIX и т. п.)
  • freedups (англ). — скрипт на perl
  • fslint (англ). — имеет графический и консольный(командной строки) интерфейс.
  • liten (англ). — Утилита предназначена для поиска дубликатов. Написана на чистом Питоне и работает из командной строки. В основе данной утилиты лежит библиотека, использующая подсчет контрольных сумм файлов, а также новейший алгоритм побайтового сравнения.
  • rdfind (англ).
  • ua (англ). — Unix/Linux утилита командной строки (консольная), спроектированная для использования программы find или ей подобных.
  • findrepe (англ). — свободная Java-утилита командной строки, предназначенная для эффективного поиска дубликатов файлов (для платформ — GNU/Linux, Mac OS X, *nix, Windows)
  • fdupe
  • rmlint - консольная утилита, умеет создавать наглядные скрипты на sh для удаления файлов (в них можно заглянуть и скорректировать их перед запуском).

Программы поиска дубликатов, работающие под Windows:

  • Teemoon Video Matching — программа поиска дубликатов видеофайлов (.NET) Текущий (2013-01-28) релиз ClamAV определяет как вирус.

См. также[править | править вики-текст]