Я пытаюсь пакетно переместить / организовать большое количество файлов (.jpg) из вложенных подкаталогов в относительный каталог. Структура заранее спланирована. Просто не на 100% уверен, что это самый эффективный и безопасный способ сделать это.
Пример структуры:
/directory/subdir/jpg/
/directory/subdir/source/something.jpg
/directory/subdir/source/something.tif
/directory/subdir/source/something-else.jpg
/directory/subdir/source/something-else.tif
/directory/subdir/source/another-file.jpg
/directory/subdir/source/another-file.tif
/directory/another-subdir/jpg/
/directory/another-subdir/source/yet-another-file.jpg
/directory/another-subdir/source/yet-another-file.tif
Цель состоит в том, чтобы получить это к этому ...
/directory/subdir/jpg/something.jpg
/directory/subdir/jpg/something-else.jpg
/directory/subdir/jpg/another-file.jpg
/directory/subdir/source/something.tif
/directory/subdir/source/something-else.tif
/directory/subdir/source/another-file.tif
/directory/another-subdir/jpg/yet-another-file.jpg
/directory/another-subdir/source/yet-another-file.tif
Я думал о чем-то вроде этого. Просто не уверен, собирается ли он поджарить мою структуру. Мы говорим о десятках гигабайт данных и тысячах файлов, которые имеют решающее значение для организации нашего клиента.
find /directory -name \*.jpg -exec mv {} ../jpg/ \;
Если есть какая-то форма "пробного запуска", то кто-нибудь может знать о ней, которую я могу использовать для визуального тестирования перед тем, как фактически выполнить, это было бы удивительно. Спасибо!
ОБНОВИТЬ:
На самом деле, я сейчас пытаюсь сделать то же самое локально на моем Mac, и получаю эту ошибку. Какие-нибудь умные обходные пути?
$ find -name "*.jpg" -execdir pwd \; -execdir echo mv -v '{}' ../jpg \;
find: illegal option -- n
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]