105 votes

Renommer une partie d'un nom de fichier

J'ai beaucoup de fichiers qui ressemblent à ceci :

DET01-ABC-5_50-001.dat
...
DET01-ABC-5_50-0025.dat

et je veux qu'ils ressemblent à ça :

DET01-XYZ-5_50-001.dat
...
DET01-XYZ-5_50-0025.dat

Comment puis-je le faire ?

1voto

Sam Bisbee Points 3085

Toutes ces réponses sont simples et bonnes. Cependant, j'aime toujours ajouter un mode interactif à ces scripts afin de pouvoir trouver les faux positifs.

if [[ -n $inInteractiveMode ]]
then
    echo -e -n "$oldFileName => $newFileName\nDo you want to do this change? [Y/n]: "
    read run

    [[ -z $run || "$run" == "y" || "$run" == "Y" ]] && mv "$oldFileName" "$newFileName"
fi

Ou faites du mode interactif le mode par défaut et ajoutez un drapeau force (-f | --force) pour les scripts automatisés ou si vous vous sentez audacieux. Et cela ne vous ralentit pas trop : la réponse par défaut est "oui, je veux renommer", donc vous pouvez simplement appuyer sur la touche entrée à chaque invite (à cause de l'indicateur de force). -z $run test.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X