web-dev-qa-db-fra.com

Comment renommer un certain préfixe dans plusieurs fichiers?

J'ai un dossier qui contient plus de 500 fichiers avec un certain préfixe. Ces fichiers sont répartis dans plusieurs dossiers dans un répertoire. Mon objectif est de renommer ce préfixe dans ces fichiers multiples.

exemples de noms de fichiers et de chemins:

  • MyFiles/my -old - FileOfAlice.txt
  • MyFiles/Dossier 1/mon -ancien - FileOfTom.odt
  • MyFiles/Folder 2/my -old - FileOfJane.doc

L'objectif est de les renommer en:

  • MesFichiers/mon -nouvea - FileOfAlice.txt
  • MyFiles/Dossier 1/mon -nouvea - FileOfTom.odt
  • MesFichiers/Dossier 2/mon -nouvea - FileOfJane.doc

Notes:

  • Les fichiers n'ont pas la même extension.
  • Les fichiers sont répartis dans plusieurs dossiers du même répertoire. J'utilise Kubuntu 16.10. Toute réponse orientée Ubuntu sera acceptée et appréciée.

Toute ligne de commande, programme, guide, tutoriel ou lien serait grandement apprécié. Merci d'avance!

3
Ken

Vous pouvez utiliser la commande suivante:

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;

Ceci recherche les fichiers contenant -old- commençant récursivement dans votre répertoire actuel et les renomme en remplaçant le -old- par -new-.

Remarque: remplacer old peut être suffisant, mais j’ai inclus le - au cas où il y aurait un deuxième old dans le nom (comme mon -ancien - F ancien ers.doc).

6
Wayne_Yux