Это переместит все изображения в подкаталог, называемый 'images', а затем изменит только ссылки на файлы изображений, добавив 'images /' непосредственно перед базовым именем.
mkdir images
mv -f *.{jpg,gif,png,jpeg} images/
sed -i 's%[^/"'\'']\+\.\(gif\|jpg\|jpeg\|png\)%images/\0%g' *.php
Если у вас есть тысячи файлов,вам может понадобиться использовать find и xargs.Итак, немного медленнее
find ./ -regex '.*\(gif\|jpg\|png\|jpeg\)' -exec mv {} /tmp \;
find ./ -name \*.php -print0 | \
xargs -0 sed -i 's%[^/"'\'']\+\.\(gif\|jpg\|jpeg\|png\)%images/\0%g' *.php
Внимание, это также изменит путь к изображениям с удаленными URL-адресами.Также убедитесь, что у вас есть полная резервная копия каталога, синтаксис php и имена переменных могут вызвать проблемы.