Shell Geek: Renommer des fichiers multiples à la fois
Disons que vous avez un répertoire avec des centaines de fichiers avec les noms de fichier erroné, et que vous souhaitez remplacer chaque nom de fichier contenant test with prod. (Ceci est un exemple artificiel). Nous pouvons facilement le faire avec les "pour" commande bash, combiné avec un peu de bonté bash. Aujourd'hui, nous allons apprendre à remplacer un texte dans une variable dans une boucle for.
Les "pour" commande fonctionne comme ceci:
for var in
;do $var;done
Vous pouvez remplacer
C'est là que la gestion des variables bash qui rend encore plus intéressant. Au lieu de simplement faire quelque chose comme "mv $ var", nous pouvons remplacer du texte dans le nom du fichier en utilisant cette syntaxe:
$ {Var / Originaltext / replaceText}
Alors maintenant, si nous exécuter cette commande sur notre annuaire:
for f in *; ne mv $ f $ {f / test / prod}; fait
Pour chaque fichier correspondant par *, bash va exécuter une commande similaire à ceci:
mv test.config prod.config
J'ai trouvé que la connaissance de la coquille est très précieuse lors de l'administration des serveurs ou tout simplement pour gérer votre collection de fichiers, et m'a sauvé heures de ce qui aurait autrement été le travail manuel.
Et oui, je réalise qu'il ya un certain nombre d'outils qui peuvent accomplir le renommage de fichiers multiples.
Commentaires
Enregistrer un commentaire