J'aime gauteh de solution pour sa simplicité, mais il a un inconvénient majeur. Lors de l'exécution sur des milliers de fichiers, vous pouvez obtenir "liste d'arguments trop longue" message (plus sur cela), et la deuxième, le script peut être très lente. Dans mon cas, l'exécution sur environ 36.000 fichiers de script déplacé env. un point par seconde! Je ne suis pas vraiment sûr de savoir pourquoi cela arrive, mais la règle que j'ai reçu de ses collègues a été "find
est votre ami".
find -name '*.jpg' | # find jpegs
gawk 'BEGIN{ a=1 }{ printf "mv %s %04d.jpg\n", $0, a++ }' | # build mv command
bash # run that command
Pour compter les éléments et de construire de commande, gawk a été utilisé. Note la principale différence, cependant. Par défaut find
recherche des fichiers dans le répertoire courant et ses sous-répertoires, alors assurez-vous de limiter la recherche sur le répertoire en cours uniquement, si nécessaire (utiliser man find
pour voir comment).