57 votes

Comment ajouter du texte en masse au début des noms de fichiers ?

Disons que j'ai un répertoire rempli de fichiers .md tous nommés de différentes manières. Disons que je veux ajouter "test" au début de chaque nom de fichier. Ainsi, par exemple : les fichiers a.md, b.md et c.md deviendraient respectivement test - a.md, test - b.md et test - c.md.

Comment puis-je accomplir cela via la ligne de commande ?

0voto

galeksic Points 121

Si vous avez zsh disponible, vous pouvez utiliser zmv :

autoload zmv
zmv -w '*' 'test - $1'

Vous pouvez tester la commande avec :

zmv -wn '*' 'test - $1'
  • -n signifie simulation, c'est-à-dire afficher seulement ce qui va se passer.
  • -w met implicitement des parenthèses autour des métacaractères, rendant les références arrières fonctionnelles.

0voto

Tim Chaubet Points 111

En bash, ajouter "Texte d'ajout - " à tous les fichiers dans le dossier :

for i in *; do mv "$i" "$(echo $i | sed 's/^/Texte\ d\'ajout\ \-\ /')"; done;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X