>for x in `find . -exec file {} \; | grep QuickTime` ; do
>FILM=`echo "$x" | sed s/": Apple QuickTime.*"//`
>mencoder -o $FILM.avi -ovc lavc -oac pcm $FILM
>done
>
>Et là, et ça m'arrive souvent, le for boucle sur tout les "mots" séparés soit
>par des \n soit des espaces.
>Il doit y avoir mieux...
find . -exec sh -c 'file "$0" | grep QuickTime >/dev/null' {} \; \
-exec sh -c 'mencoder -o "$0".avi -ovc lavc -oac pcm "$0"' {} \;
Ceci devrait accepter tous les caractères admis pour les noms de fichiers
(c.a.d tous les caractères à l'exception de '\0' et '/').
Autre méthode (mais je n'ai essayé aucune) :
find . -exec sh -c 'file "$0" | grep QuickTime >/dev/null' {} \; -print0 |
xargs -0 -I '{}' mencoder -o '{}'.avi -ovc lavc -oac pcm '{}'
-Nicolas