Supposons que vous avez un répertoire avec des centaines de fichiers avec des noms de fichiers incorrects et que vous souhaitez remplacer tous les noms de fichiers contenant tester avec prod. (Ceci est un exemple artificiel). Nous pouvons facilement faire cela avec la commande «for» dans bash, combinée à un peu de bonté bash. Aujourd’hui, nous apprendrons comment remplacer du texte dans une variable dans une boucle for.
La commande "pour" fonctionne comme ceci:
for var in ;do $var;done
Vous pouvez remplacer
C’est là que la gestion des variables bash le rend encore plus intéressant. Au lieu de faire quelque chose comme «mv $ var», nous pouvons remplacer le texte dans le nom du fichier en utilisant la syntaxe suivante:
${var/originaltext/replacetext}
Alors maintenant, si nous lançons cette commande sur notre répertoire:
for f in *;do mv $f ${f/test/prod};done
Pour chaque fichier correspondant à *, bash exécutera une commande similaire à celle-ci:
mv test.config prod.config
J’ai constaté que la connaissance du shell était précieuse lors de l’administration de serveurs ou simplement pour la gestion de votre collection de fichiers. Elle m’a évité des heures de travail manuel.
Et oui, je réalise qu’un certain nombre d’outils permettent de renommer plusieurs fichiers.