J'ai une arborescence de répertoires contenant chacun des fichiers png.
A partir de chaque répertoire, je voudrais copier les fichiers png dont la résolution est >(600x600).
En utilisant les commandes suivantes, je pourrais créer un script qui ferait exactement cela, mais il serait assez long.
Cette commande listera les pngs dont le nombre de pixels horizontaux est >600.
for f in *.png;do if [ `file $f | cut -f5 -d\ ` -gt 600 ] ; then echo $f;fi;done
Cette commande va trouver tous les répertoires et y copier file.png
find <basedir>/ -type d -exec cp file.png '{}' \;
Quelqu'un connaît-il un bon moyen de résoudre ce problème ?
Mise à jour : Voilà ce que j'ai obtenu.
for f in $(find . -type f -name *png -print0); do
identify -format '%w %h' $f|awk '{print $1 $2}'
# if [$1 -gt 600 && $2 -gt 600]; then
cp $f ~/600x600
fi
done
Comment puis-je utiliser $1
y $2
de awk
en el if
- déclaration ?