340 votes

Renommer des fichiers dans un dossier de numéros séquentiels

Je suis à la recherche d’un simple script qui renomme les fichiers dans un répertoire de numéros séquentiels. Basé sur la date de création des fichiers.

Par exemple pour , à et ainsi de suite, le nombre de principaux zéros selon le montant total de fichiers (pas besoin de zéros supplémentaires si ne pas nécessaire).

414voto

gauteh Points 3288

Essayez d’utiliser une boucle et laissez et printf pour le remplissage :

64voto

Pero Points 570

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).

34voto

avec la commande « Renommer »

ou

33voto

beibei2 Points 341

à l’aide de solution de Pero sur OSX nécessaires certaines modifications. J’ai utilisé :

Remarque : les barres obliques inverses sont là pour la continuation de ligne

14voto

Abdala Cerqueira Points 284

Pour travailler dans toutes les situations, mettre un \ » pour les fichiers qui ont l’espace dans le nom

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X