Я рассмотрел этот вопрос , и, хотя он работает, есть несколько вопросов:
Мне нужно конвертировать около 70 000 .tif и .jpgs в .pngs. Очень важно, чтобы файлы при конвертации помещались в их обычные каталоги.
В конце я могу сделать пакетную запись .tff / .jpg, если это лучший способ удаления старых файлов.
for f in $(find . -iname "*.jpg" -type f) ;
do
convert $f $(dirname $f)/$(basename -s .jpg $f).png ;
done
find . -iname "*.jpg" -type f
: поиск файла, заканчивающегося на «.jpg» без учета регистра $(dirname $f)
: относительный путь к папке, содержащей файл $ f $(basename -s .jpg $f)
: имя файла без суффикса ".jpg" В старом Ubuntu базовое имя может нуждаться в запуске другим способом:
basename $f .jpg
Convert является частью imagemagick (As см. Пакетная обработка изображений tif: преобразование .tif в .jpeg ) для установки
sudo apt-get install imagemagick
Прекрасно работает и с именами файлов с пробелами.
Чтобы удалить оригиналы:
SAVEIFS=$IFS; IFS= Чтобы сохранить оригиналы: удалите < ; rm "$ f"> part
SAVEIFS=$IFS; IFS=\n'
for f in $(find . -iname "*.jpg" -type f); do
convert "$f" "${f%.*}.png"
done
IFS=$SAVEIFS
\n'
for f in $(find . -iname "*.jpg" -type f); do
convert "$f" "${f%.*}.png"; rm "$f"
done
IFS=$SAVEIFS
Чтобы сохранить оригиналы: удалите < ; rm "$ f"> part
SAVEIFS=$IFS; IFS=\n'
for f in $(find . -iname "*.jpg" -type f); do
convert "$f" "${f%.*}.png"
done
IFS=$SAVEIFS
LANG=C
. Моя немецкая система говоритinet Adresse
;) – A.B. 7 July 2015 в 21:27