Shell - Supprimer les extensions de fichiers en masse

Aujourd’hui je devais renommer un nombre important de fichiers. Le changement de nom du fichier consistait seulement à supprimer l’extension des fichiers.

Voici la commande en shell qui permet de le faire :

ls -1|sed 's/\(.*\)\.\([^\.]*\)/mv \1\.\2 \1/g'|sh

Explications étape par étape :

  1. Lister les fichiers à renommer[1]
  2. Générer les lignes de commandes de la forme mv ancien nouveau avec sed[2]
  3. Exécuter les lignes de commandes générées

Notes

[1] Il est possible de modifier les arguments du ls pour filtrer les fichiers à renommer.

[2] Le sed peut être modifié pour faire autre chose que supprimer les extensions.

Laisser un commentaire