10

У меня есть две директории: old/ и new/ . Некоторые файлы в old/ являются дубликатами файлов в new/ . Некоторые просто имеют одинаковое имя, а некоторые могут даже иметь идентичный контент, но разные имена. Меня не интересует путь подкаталога к файлам, поэтому при сопоставлении необходимо учитывать только неквалифицированное имя файла.

Я хочу удалить дубликаты файлов из old/ , чтобы он содержал только файлы, не найденные в new/ . Для случаев, когда имена файлов совпадают, но не содержимое, или наоборот, я хочу, чтобы это было указано в некотором журнале.

Кто-нибудь сталкивался с подобной проблемой, или есть лучшее решение, чем хакерство (perl или похожий) скрипт с нуля? Среда выполнения с преобладанием вызова md5sum для каждого файла является приемлемой.

2 ответа2

8

fdupes - находит дубликаты файлов в заданном наборе каталогов

fdupes new/ old/

-d для удаления

-Н за не спрашивай

fdupes -N -d new/ old/
7

Конечно! Проверьте FSlint:

FSlint - это утилита для поиска и очистки различных форм ворса в файловой системе. То есть нежелательные или проблемные вложения в ваши файлы или имена файлов. Например, одна из форм, которую он находит, - это дубликаты файлов. Он имеет как графический интерфейс, так и режимы командной строки.

альтернативный текст

FSlint - бесплатное программное обеспечение с открытым исходным кодом.

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