16 votes

Exécution par lot de mogrify incluant les sous-répertoires

La commande mogrify -format jpg *.NEF lorsqu'il est exécuté dans un répertoire, il convertit tous les *.NEF en JPEG. Ce que je veux faire, c'est pouvoir exécuter mogrify en *.NEF des fichiers dans des sous-répertoires en utilisant une seule commande. J'essaie d'exécuter quelque chose comme :

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

et bien sûr, cela ne fonctionne pas. Quelqu'un peut-il suggérer la commande appropriée ?

22voto

bene Points 2144

Il semble que mogrify de ImageMagick 6.9.9.19 écrit le résultat dans le même répertoire que le fichier d'entrée, donc vous pouvez utiliser cette commande :

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

Explication :

  • -name '*.NEF' trouve tous les *.NEF les fichiers ; utilisez -iname si vous voulez que la recherche soit insensible à la casse.

  • -exec ... {} + exécute la commande sur tous les fichiers correspondants. Une alternative serait de combiner trouver con xargs .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X