Batch executa mogrify incluindo subdiretórios

7

O comando mogrify -format jpg *.NEF quando executado em um diretório converte todos os arquivos *. NEF em JPEGs. O que eu quero fazer é ser capaz de rodar mogrify em arquivos *. NEF dentro de subdiretórios usando um comando. Estou tentando executar algo como:

find . -type d exec mogrify -format jpg *.NEF \;

e, claro, não está funcionando. Alguém pode sugerir o comando adequado?

    
por Regmi 20.10.2013 / 04:22

1 resposta

11

Parece que o mogrify do ImageMagick 6.9.9.19 grava o resultado no mesmo diretório que o arquivo de entrada, então você pode usar este comando:

find . -name '*.NEF' -exec mogrify -format jpg {} +

Explicação:

  • -name '*.NEF' localiza todos os arquivos *. NEF ; use -iname se você quiser que a pesquisa seja insensível a maiúsculas e minúsculas.

  • -exec ... {} + executa o comando em todos os arquivos correspondentes. Uma alternativa seria combinar encontrar com xargs .

por 20.10.2013 / 04:43