Comment renommer plusieurs fichiers sur Linux
Le renommer les fichiers sur les systèmes Linux est généralement géré par la commande mv (Move). La syntaxe est juste mv old.txt new.txt . Assez simple, mais que se passe-t-il si nous avons plusieurs fichiers qui doivent être renommés immédiatement, même des centaines d'entre eux? L'utilitaire MV par défaut ne peut pas gérer le renommage de plus d'un fichier à moins que nous ne fassions un peu de script. Il existe également d'autres utilitaires que nous pouvons installer pour résoudre le problème, comme renommer et mmv .
Dans ce guide, nous vous montrerons comment utiliser la commande mv ainsi que les outils renommer et mmv pour renommer plusieurs fichiers sur votre Distro Linux. Nous allons passer en revue plusieurs exemples afin que vous puissiez comprendre la syntaxe et comment utiliser chaque méthode.
Dans ce tutoriel, vous apprendrez:
- Comment renommer plusieurs fichiers à la fois avec la commande mv
- Comment installer Renommer sur les principales distros Linux
- Comment installer MMV sur les principales distros Linux
- Comment utiliser MMV, via des exemples de commande
- Comment utiliser Renommer, via des exemples de commande
Renommer plusieurs fichiers à la fois sur Linux
Renommer plusieurs fichiers à la fois avec la commande mv
Renommer plusieurs fichiers avec la commande MV est plus facile si vous connaissez un peu de script bash. Jetez un œil à certains des exemples ci-dessous pour voir quelques utilisations courantes avec cette méthode.
La commande suivante ajoutera une extension de fichier .txt à tous les fichiers de votre répertoire de travail actuel.
for i in $( ls ); do mv $i $i.txt; donePour supprimer une extension de fichier de tous les fichiers, vous pouvez utiliser cette commande.
for i in $( ls *.txt ); do mv $i ${i%.*}; doneNous pouvons également modifier l'extension de fichier de chaque fichier. La commande suivante modifiera tous les fichiers avec l'extension .log à .txt.
for i in *.log; do mv -- "$i" "${i%.log}.txt"; doneVous pouvez également utiliser la commande Find, avec l'option
-execou la commande xargs pour renommer plusieurs fichiers à la fois. Cette commande ajoutera .bak à chaque fichier qui commence par le modèle «fichier».find . -type f -name 'file*' -print0 | xargs --null -I{} mv {} {}.bakCette commande utilise la recherche et l'option
-execpour ajouter «_backup» à tous les fichiers qui se terminent par l'extension .txt.find . -name "*.txt" -exec mv {} {}_backup \;Nous pouvons également utiliser des xargs pour faire la même chose. Cette commande acceptera les entrées standard de la commande
ls, puis utilisez des xargs pour ajouter «_backup» à tous les fichiers qui se terminent par l'extension .txt.ls *.txt | xargs -I{} mv {} {}_backupPour modifier tous les fichiers avec le .txt dans le répertoire actuel pour avoir des lettres minuscules uniquement, cette commande fera le travail.
for i in `ls *.txt`; do mv "$i" "`echo $i | tr '[A-Z]' '[a-z]'`"; done
L'avantage de cette méthode est que nous n'avons pas besoin de logiciel Linux supplémentaire - nous utilisons simplement l'utilitaire MV natif, et parfois couplé avec LS, Find ou Xargs. Cependant, comme nous l'avons vu dans ces exemples, il peut être assez complexe de faire quelque chose de simple comme renommer quelques fichiers. Découvrez certaines des autres méthodes ci-dessous pour voir des options plus pratiques qui nécessitent une installation.
Installer Rename Utility
Votre distribution Linux peut déjà avoir renommer installé par défaut. Juste au cas où il n'est pas déjà installé, vous pouvez utiliser la commande appropriée ci-dessous pour l'installer via le gestionnaire de packages de votre système.
Pour installer Renommer sur Ubuntu, Debian et Linux Mint:
sudo apt install rename
Pour installer Renomment sur Centos, Fedora, Almalinux et Red Hat:
sudo dnf install prename
Pour installer Renommer sur Arch Linux et Manjaro:
sudo pacman -S perl-rename
Renommer des exemples de commande
La commande Renommer accepte Perl Expression pour faire le renommage réel. Si vous connaissez déjà cette syntaxe, Renommer sera très facile à utiliser. Sinon, ne vous inquiétez pas, nous avons quelques exemples ci-dessous qui vous aideront à comprendre.
Ici, nous avons compilé certains des scénarios les plus courants dont vous auriez besoin pour renommer plusieurs fichiers à la fois. Ces commandes supposent que les fichiers que vous souhaitez renommer figurent dans votre répertoire de travail actuel. Vous pouvez toujours spécifier le chemin vers d'autres répertoires si vous le souhaitez.
Il existe quelques options que vous pouvez utiliser avec renommer . L'option -n vous montrera ce que les modifications renommeront apporteront, sans apporter les modifications. Cela vous aide à éviter tout changement indésirable. L'option -v (Verbose) imprimera les noms des fichiers qui ont été renommés avec succès.
Cette commande renommera les fichiers en majuscules en minuscules.
rename 'y/A-Z/a-z/' *Ou, pour convertir les minuscules en majuscules:
rename 'y/a-z/A-Z/' *Pour modifier l'extension d'un tas de fichiers, utilisez la syntaxe suivante. Cet exemple particulier convertira les fichiers .log en fichiers .txt.
rename 's/\.log$/\.txt/' *.logPour capitaliser la première lettre de chaque nom de fichier, utilisez la commande suivante.
rename 's/\b(\w)/\U$1/g' *-
Pour supprimer tous les espaces vides des noms de fichiers, exécutez cette commande.
rename "s/ *//g" *Ou, pour remplacer les espaces par des soulignements:
rename 's/\s+/_/g' * Pour supprimer une extension de fichier à partir d'un tas de fichiers, utilisez la syntaxe suivante. Cet exemple supprimera l'extension .bak.
rename 's/\.bak$//' *.bak
Installer l'utilitaire MMV
Vous pouvez utiliser la commande appropriée ci-dessous pour installer MMV via le gestionnaire de packages de votre système.
Pour installer MMV sur Ubuntu, Debian et Linux Mint:
sudo apt install mmv
Pour installer MMV sur CentOS, Fedora, Almalinux et Red Hat:
sudo dnf install mmv
Pour installer MMV sur Arch Linux et Manjaro:
git clone https://aur.archlinux.org/mmv.git
cd mmv/
makepkg -si
Exemples de commande MMV
La caractéristique la plus attrayante de MMV est sa capacité à renommer facilement beaucoup de fichiers en acceptant les jokers dans la commande. Cela vous permet d'ajouter ou de supprimer facilement certains modèles des noms de fichiers, ou même d'organiser du texte dans les noms. Consultez certains des exemples ci-dessous pour apprendre la syntaxe de l'outil MMV et voyez certaines des commandes les plus courantes que vous pourriez vous retrouver à exécuter avec. Gardez à l'esprit que vous pouvez utiliser l'option -n avec MMV pour prévisualiser les modifications.
Utilisez cet exemple pour modifier l'extension de fichier sur un tas de fichiers. Cette commande modifiera tous les fichiers avec l'extension .htm en .html.
mmv '*.htm' '#1.html'Cette commande remplacera la première occurrence de «foo» par «bar» dans tous les noms de fichiers.
mmv '*foo*' '#1bar#2'La commande suivante vous donne une idée de la façon dont vous pouvez utiliser MMV pour réorganiser les parties d'un nom de fichier. Cet exemple prendra des fichiers comme
access.log-dbserveretrejeté.log-webserveret les renommer àaccess-dbserver.logetrejeté-webserver.log, respectivement. Pour que cela fonctionne, nous avons juste besoin d'avoir un modèle cohérent, comme le tableau de bord et la période dans ce cas.
mmv '*.log-*' '#1-#2.log'Modifiez tous les noms de fichiers en lettres minuscules en utilisant cette commande.
mmv '*' '#l1'À l'inverse, modifiez les noms de fichiers par toutes les lettres en majuscules avec celle-ci.
mmv '*' '#u1'
Réflexions de clôture
Dans ce guide, nous avons appris plusieurs méthodes différentes pour renommer plusieurs fichiers simultanément sur Linux. Nous avons également vu une multitude d'exemples de lignes de commande qui peuvent couvrir de nombreux scénarios différents ou être facilement adaptés pour s'adapter à des situations similaires. Le changement de nom en vrac peut être effectué via des utilitaires de bash natifs comme MV, LS, XARGS, et trouver, ou nous pouvons installer l'utilitaire MMV ou renommer pour nous faciliter la vie. Chaque méthode a leurs forces et leurs faiblesses, alors utilisez celle que vous pensez être la plus pratique pour vous.
