Я имею дело с устаревшей кодовой базой, где мы пытаемся преобразовать все файлы jpeg/png в формат webp с помощью команды cwebp
. К сожалению, многие файлы изображений были сохранены с пробелами в имени. Пример: i am poorly named.jpg
Таким образом, при запуске следующего сценария bash для поиска всех jpeg-файлов в каталоге, прокрутки и преобразования их слова, разделенные пробелами, обрабатываются как другой файл, поэтому изображение никогда не преобразуется. Мы не хотим удалять пробелы, а просто создаем файл webp с точно таким же именем.
files=$(find ./ -type f -name "*.jpg")
for jpg in $files
do
webp="${jpg/%jpg/webp}";
if [ ! -f $webp ]; then
echo "The webp version does not exist";
cwebp -q 80 "$jpg" -o "$webp";
fi
done
Я пытался разместить jpg=$(printf '%q' "$jpg")
сразу после do
в приведенном выше коде, а также другие вещи.
Я ожидаю, что i am poorly named.webp
будет создан, если файл i am poorly named.jpg
существует.
webp
в if [ ! -f $webp]; тогда` - person P....   schedule 10.05.2019