2013-11-21 2 views
2

Я хочу создать цикл в скрипте Linux, который будет проходить через папки в одном каталоге и будет копировать фотографии в одну папку и будет перезаписывать фотографии с тем же именем. Может ли кто-нибудь указать мне в направлении записи?Сценарий Linux Loop

ответ

3
find /path/to/source -type f -exec cp -f {} /path/to/destination \; 

Будет ли это работать? Имейте в виду, что они будут перезаписывать файлы без запроса.

Если вы хотите его подтвердить перед перезаписью, используйте флаг -i (для интерактивного режима) в команде cp.

0
find /path/to/source -type f | xargs -I {} file {} | grep <JPEG or image type> | cut -d ":" -f1 | xargs -I {} cp -rf {} /path/to/destination 

С помощью этой функции вы можете настроить свою копию, выбрав только тип изображения.

0

На самом деле вам не нужно перебирать папки для поиска фотографий с помощью скрипта, команда find выполнит эту работу за вас.

Попробуйте использовать find с xargs и cp

find source_dir -type f -iname '*.jpg' -print0 | xargs -0 -I {} cp -f {} dest_dir 

*.jpg Заменить с форматом ваших файлов фотографий. (Например, *.png и т.д.)

Обратите внимание на использование -f опции cp, так как вы хотите переписать фотографии с тем же именем

Смежные вопросы