Я пишу сценарий bash, который копирует изображения из каталога (и всех его подкаталогов) в другой каталог.
Пока что у меня это:
find . -type f -regextype posix-extended -regex '^.*IMG_[0-9]{4}\.jpg' -exec cp {} ~/$output \;
Это работает, но проблема более сложная. Есть два случая:
- Некоторые изображения имеют одинаковое название, но разные. В этом случае их нужно переименовать, просто добавив второй «.JPG» в конце их имени.
- Однако, если два файла имеют одинаковое имя и являются идентичными файлами, в выходной каталог следует скопировать только один, а абсолютный путь другого записать в текстовый файл - duplicats.txt.
Я думаю, что мне нужно использовать cmp для имен файлов, а затем md5sum для проверки идентичных файлов, но я не уверен, как использовать cmp для имен файлов и возможно ли это вообще.
Заранее благодарю за любую помощь!
fdupes
может делать то, что вы хотите. - person Roger Lipscombe   schedule 19.11.2015cmp
сообщает вам, что если файлы идентичны, он сравнивает байт за байтом. - person Benjamin W.   schedule 19.11.2015