Como rodar jpegoptim recursivamente para cada arquivo em um diretório

Este comando rodará jpegoptim em modo sem perdas para cada arquivo .jpg em uma pasta recursivamente. É assim que eu reduzo o tamanho da minha coleção de fotos & imagens.

jpegoptim_parallel.sh
find . \( -iname \*.jpg -or -iname \*.jpeg \) -print0 | xargs -P 4 -n 1 -0 jpegoptim

Veja Como usar xargs em paralelo para detalhes na sintaxe -P 4 -n 1 que roda 4 processos jpegoptim em paralelo.

Note que a saída pode ser embaralhada devido a 4 processos rodando em paralelo, mas é tipicamente 4 vezes mais rápido usando esta abordagem. Você também pode usar

jpegoptim_single.sh
find . \( -iname \*.jpg -or -iname \*.jpeg \) -print0 | xargs -0 jpegoptim

para rodar apenas um processo jpegoptim em paralelo.


Check out similar posts by category: Shell