find /home/bitrix/ext_www/shop.wildorchid.ru/{upload/resize_cache,upload/iblock/,local}/ -type f -regex ".*\(jpg\|jpeg\|JPG\|JPEG\)" -exec jpegoptim --preserve --preserve-perms --max=85 {} \;
home/bitrix/ext_www/shop.wildorchid.ru/{upload/resize_cache,upload/iblock/,local}/
поиск по конкретным директориям рекурсивно.
-type f
- только файлы
-regex ".*\(jpg\|jpeg\|JPG\|JPEG\)
" - ну думаю тут и так понятно (более расширенный синтаксис)
-exec - встроенная функция файнд, выполнить с найденым массивом, по факту это цикл с выводом массива
поиска.
jpegoptim --preserve --preserve-perms --max=85 {} \;
Собственно массив файлов передается в exec тот в свою очередь запускет jpegoptim с параметрами, где {} собственно сам массив файлов.
В результате этого скрипта на этих файлах будет применена оптимизация
в вашем случае просто переименуйте или что там вам нужно.
Отдельно обращу внимание что по факту на exec поступает каждая строка по отдельности а не кучей аргументов.
То есть если будет найдено 10 файлов то 10 раз выполнится экзек, а не 1 с 10 аргументами.
если вам нужно последнее то это через xargs