GNU/Linux >> Tutoriels Linux >  >> Linux

Comment renommer un grand nombre de fichiers à l'aide d'une expression régulière ?

Je veux renommer beaucoup de fichiers sur Mac OS X (10.7.2).. Je n'ai pas le paquet perl pour le rename commande.

Mes fichiers ont des noms comme "T452-102456-0.png" et je veux supprimer la partie "-0". Je sais que je peux faire cette action en écrivant mon propre script php-cli, mais j'aimerais connaître une solution plus simple et plus rapide.

Réponse acceptée :

Bash ou Ksh avec mv pourrait le résoudre :

for f in *.png; do mv -n "$f" "${f/-0}"; done

Dans le cas où le nom du fichier peut également contenir un "0" après le premier tiret et que le "-0" est toujours devant le point, vous pouvez également inclure ce point dans l'expression :

for f in *.png; do mv -n "$f" "${f/-0./.}"; done

Mais comme cette règle de renommage est simple, si vous avez rename depuis util-linux package, qui le fera aussi :

rename '-0.' '.' *.png

Linux
  1. Comment renommer des fichiers sous Linux

  2. Renommer les fichiers par lots en une numérotation séquentielle ?

  3. Comment trier des fichiers sous Linux à l'aide de la commande Sort

  4. Comment rechercher des fichiers à l'aide de regex dans le script shell Linux

  5. sed - comment faire des groupes regex en utilisant sed

Comment renommer des fichiers et des répertoires sous Linux

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment synchroniser des fichiers et des répertoires à l'aide de Zaloha.sh

Comment éditer plusieurs fichiers à l'aide de l'éditeur Vim

Comment renommer des fichiers dans Ubuntu 20.04