for f in $(find . -iname "*.jpg" -type f) ;
do
convert $f $(dirname $f)/$(basename -s .jpg $f).png ;
done
-
find . -iname "*.jpg" -type f
: pesquisa por arquivo terminado com ".jpg" insensitivo a maiúsculas e minúsculas -
$(dirname $f)
: caminho relativo para a pasta que contém o arquivo $ f -
$(basename -s .jpg $f)
: nome do arquivo sem o sufixo ".jpg"
No antigo basename do Ubuntu pode ser necessário executar de maneira diferente:
basename $f .jpg
O Convert é uma parte do imagemagick (como referência, consulte Processamento em lote tif imagens: Convertendo .tif para .jpeg ), para instalar
sudo apt-get install imagemagick