У меня большая музыкальная коллекция, и там есть несколько дубликатов. Есть ли способ найти дубликаты файлов. Как минимум, сделав хеш и увидев, имеют ли два файла одинаковый хеш.
Бонусные баллы за поиск файлов с тем же именем, кроме расширения - я думаю, что у меня есть несколько песен в форматах mp3 и ogg.
Я счастлив использовать командную строку, если это самый простой способ.
Я использую для этого fdupes
. Это программа командной строки, которую можно установить из репозиториев с помощью sudo apt install fdupes
. Вы можете назвать его как fdupes -r / dir / ect / ory
, и он распечатает список дубликатов. У fdupes также есть простая домашняя страница и статья в Википедии , в которой перечислены еще несколько программ.
Если ваша задача дедупликации связана с музыкой, сначала запустите приложение picard , чтобы правильно идентифицировать и пометить вашу музыку (чтобы вы могли найти дубликаты файлов .mp3 / .ogg, даже если их имена неверны). Обратите внимание, что picard также доступен в виде пакета Ubuntu.
Это сделано, на основе тега musicip_puid
вы можете легко найти все ваши повторяющиеся песни.
Для идентификации и удаления дубликатов, связанных с музыкой, Пикард и Джайкоз http: //musicbrainz.org/ - лучшее решение. Я считаю, что Jaikoz автоматически помечает вашу музыку тегами на основе данных файла песни. Вам даже не нужно название песни, чтобы оно могло идентифицировать песню и назначать ей все метаданные. Хотя в бесплатной версии можно пометить только ограниченное количество песен за один запуск, но вы можете запускать ее столько раз, сколько захотите.
FSlint имеет графический интерфейс и некоторые другие функции. Объяснение алгоритма проверки дубликатов из их FAQ:
1. exclude files with unique lengths
2. handle files that are hardlinked to each other
3. exclude files with unique md5(first_4k(file))
4. exclude files with unique md5(whole file)
5. exclude files with unique sha1(whole file) (in case of md5 collisions).
Другой сценарий, выполняющий эту работу, - rmdupe . Со страницы автора:
rmdupe использует стандартные команды Linux для поиска в указанных папках дубликатов файлов, независимо от имени файла или расширения. Перед удалением повторяющихся кандидатов они сравниваются побайтно. rmdupe также может проверять дубликаты в одной или нескольких справочных папках, может удалять файлы вместо их удаления, позволяет настраивать команду удаления и может ограничить свой поиск файлами указанного размера. rmdupe включает режим моделирования, который сообщает, что будет сделано для данной команды, без фактического удаления каких-либо файлов.
Вы пробовали
finddup
или
finddup -l
, думаю, все работает нормально.
Я использую komparator - sudo apt-get install komparator
(Ubuntu 10.04+ ) - в качестве GUI-инструмента для поиска дубликатов в ручном режиме.
Список программ / скриптов / bash-решений
, которые могут находить дубликаты и запускаться под nix
:
rmlint-gui
с графическим интерфейсом (может быть запущен с помощью rmlint --gui
или из настольной программы запуска с именем Shredder Duplicate Finder )