GNU/Linux >> Tutoriels Linux >  >> Linux

Comment renommer plusieurs fichiers en une seule commande ou un script sous Unix ? ?

Cette question a déjà des réponses ici :Renommer les fichiers dans le répertoire

(6 réponses)
Comment nettoyer les extensions de fichiers ?

(7 réponses)
Fermé il y a 7 ans.

J'ai la liste de fichiers ci-dessous

aro_tty-mIF-45875564pmo_opt
aro_tty-mIF-45875664pmo_opt
aro_tty-mIF-45875964pmo_opt
aro_tty-mIF-45875514pmo_opt
aro_tty-mIF-45875524pmo_opt

que je dois renommer

aro_tty-mImpFRA-45875564pmo_opt
aro_tty-mImpFRA-45875664pmo_opt
aro_tty-mImpFRA-45875964pmo_opt
aro_tty-mImpFRA-45875514pmo_opt
aro_tty-mImpFRA-45875524pmo_opt

Réponse acceptée :

La plupart des shells standard fournissent un moyen d'effectuer une simple substitution de texte dans les variables du shell. http://tldp.org/LDP/abs/html/parameter-substitution.html explique comme suit :

${var/Pattern/Replacement}

First match of Pattern, within var replaced with Replacement.

Utilisez donc ce script pour parcourir tous les fichiers appropriés et renommer chacun d'eux :

for file in aro_tty-mIF-*_opt
do
    mv -i "${file}" "${file/-mIF-/-mImpFRA-}"
done

J'ai ajouté une option -i pour que vous puissiez confirmer chaque opération de renommage. Comme toujours, vous devez faire une sauvegarde de tous vos fichiers avant de renommer ou de supprimer une grande quantité de fichiers.


Linux
  1. Comment renommer des fichiers sous Linux

  2. Comment puis-je ftp et télécharger des fichiers à partir d'un script shell UNIX

  3. Comment copier des fichiers sous Linux et Unix ? 10 exemples de commandes cp

  4. Comment remplacer une chaîne dans plusieurs fichiers en ligne de commande Linux

  5. Script Linux Bash, une seule commande mais plusieurs lignes ?

Comment renommer des fichiers sous Linux

Renommer la commande sous Linux (renommer plusieurs fichiers)

Comment renommer un ou plusieurs fichiers sous Linux

Comment renommer des fichiers et des répertoires dans Ubuntu 20.04

Comment exécuter plusieurs commandes Linux en une seule commande

Commande ls sous Linux/UNIX