web-dev-qa-db-fra.com

Un moyen d'usage de renommer tous les fichiers d'un répertoire

Pour ce faire, j'ai créé de simples fonctions bash avec find -exec, analysé ls ou utilisé bash globbing, etc. les fichiers portant déjà un nom tel que 2 ont été écrasés lorsqu'un autre fichier a été renommé en 2.

Une fois, il y avait un problème avec Unicode, une fois avec un espace dans le nom du fichier, une fois avec * ou & dans le nom du fichier, etc. Je pensais donc que je viendrais ici et que je demanderais à vos collaborateurs le moyen le plus efficace et le plus robuste de renommer tous les fichiers d’un répertoire afin d’avoir des noms séquentiels quoi qu’il en soit!. Peu importe la longueur des noms de fichiers, quel que soit leur nom d'origine ou leur extension, et peu importe s'ils contiennent des caractères non-ASCII.

Donc, mes exigences sont:

  1. Cela fonctionne avec les noms de fichiers longs.
  2. Cela fonctionne avec les caractères Unicode.
  3. Cela fonctionne si les fichiers ont de l'espace ou des caractères spéciaux.
  4. Qu'il n'écrase aucun fichier sur un autre.
  5. Que c'est aussi vite que possible: D
3
E.Pajouheshgar

Si votre Ubuntu n'est pas un serveur, ne le traitez pas comme tel. pyRenamer des référentiels Ubuntu par défaut possède toutes les fonctionnalités que vous recherchez, y compris le support regex. Etant donné qu’il s’agit d’un programme graphique, il n’est pas nécessaire de vous casser la tête pour essayer de comprendre comment l’utiliser. Si vous rencontrez des difficultés pour écrire une expression régulière, vous pouvez obtenir une explication de ce que fait votre regex à l'adresse RegExr . Ne vous permettez pas de vous opposer aux programmes d'interface graphique créés pour des cas d'utilisation similaires.

pyRenamer est disponible à partir des référentiels Ubuntu par défaut dans Ubuntu 16.04 et versions antérieures. Dans Ubuntu 18.04 et les versions ultérieures, pyRenamer a été remplacé par GPRename .

2
karel