Linux fournit plusieurs commandes pour renommer des fichiers, notamment en utilisant l’interface graphique et plusieurs commandes à utiliser dans un terminal. Cela rend relativement facile à renommer des fichiers individuels ou plusieurs fichiers à la fois par lot.
Dans ce tutoriel, je vous présente trois commandes mv, rename et mmv pour renommer des fichiers ou répertoires.
Table des matières
Comment renommer des fichiers sous Linux avec mv
Exemple d’utilisation basique
La commande mv s’utilise pour déplacer un fichier ou répertoire.
Mais on peut aussi l’utiliser pour renommer un fichier ou répertoire.
La syntaxe est la suivante :
mv [OPTIONS] Source Destination
Pour renommer un fichier ou dossier, il suffit de ne spécifier aucun chemin pour rester dans l’arborescence actuel.
Ce qui donne :
mv Nom_Fichier Nouveau_Nom_Fichier
Ainsi pour renommer monfichier.txt en monbeaufichier.txt, cela donne :
monfichier.txt monbeaufichier.txt
Comment renommer plusieurs fichiers en masse avec la commande mv
Il est aussi possible de renommer de multiples fichiers avec la commande mv.
Toutefois, comme celle-ci n’est pas prévue, on doit soit utiliser une boucle for, soit l’utiliser avec la commande find.
avec la boucle for
for f in *.html; do
mv -- "$f" "${f%.html}.php"
done
- La première ligne crée une boucle for qui liste tous les fichiers html dans la variable f
- La deuxième ligne s’applique à chaque élément de la liste et déplace le fichier sur un nouveau remplaçant .html avec .php. La partie $ {fichier% .html} utilise l’expansion du paramètre shell pour supprimer la partie .html du nom de fichier.
- done indique la fin du segment de la boucle.
avec find
find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;
La commande find passe tous les fichiers se terminant par .html dans le répertoire actuel à mv un par un à l’aide de l’option -exec par la chaîne {} est le nom du fichier en cours de traitement.
Plus d’explications sur l’utilisation de find :
Comment renommer des fichiers sous Linux avec rename
Utilisez l’utilitaire de paquet comme APT ou Yum/dnf :
- Pour Ubuntu, Mint ou Debian, use
sudo apt install rename
- Pour CentOS and Fedora, use
sudo yum install prename
- Enfin du côté de Arch Linux, use
sudo pacman -S
rename
Voici la syntaxe :
rename [options] 's/[élément du fichier]/[remplacement]/' [fichier]
rename
: Invoque la commande renommée[options]
: Fournit un argument facultatif qui modifie la manière dont la commande exécutes
: Indique une expression de substitution[
élément du fichier]
: Spécifie la partie du nom de fichier que vous souhaitez remplacer[remplacement]
: Spécifie un remplacement de la partie du nom de fichier actuel[fichier]
: Définit le fichier que vous souhaitez renommer. On peut utiliser les caractères joker pour cible un lot de fichiers
Par exemple pour renommer toutes les extensions html en php sur tous les fichiers html, utilisez la commande rename comme ceci :
rename 's/.html/.php/' *.html
Pour convertir toutes les majuscules en minuscules, on utilise le modifieur y/.
Ce dernier permet de modifier caractère par caractère.
rename 'y/A-Z/a-z/' *
D’autres exemples sont disponibles dans ce tutoriel complet :
Comment renommer plusieurs fichiers en masse, par lot sous Linux avec mmv
mmv pour mass move file est une commande dédiée pour déplacer, copier ou renommer de multiples fichiers.
La caractéristique la plus attrayante de mmv est sa capacité à renommer facilement beaucoup de fichiers en acceptant des caractères génériques dans la commande.
Cela vous permet d’ajouter facilement ou de supprimer certains modèles de noms de fichiers, ou même d’organiser du texte dans les noms.
Ce n’est pas une commande base et donc vous devez l’installer sur votre système.
Utilisez l’utilitaire de paquet comme APT ou Yum/dnf :
- Pour Ubuntu, Mint ou Debian, use
sudo apt install mmv
- Pour CentOS and Fedora, use
sudo yum install
mmv - Enfin du côté de Arch Linux, use
sudo pacman -S
mmv
Cette commande changera tous les fichiers avec une extension .htm à .html.
mmv '*.htm' '#1.html'
Pour remplacer la première occurrence abc sur xyz dans tous les fichiers du répertoire actuel :
mmv '* abc *' '# 1xyz # 2'
Renommez des fichiers se terminant dans .html.en, .html.de, etc. pour se terminer dans .en.html, .de.html, etc. dans le répertoire actuel :
mmv '*.html.??' '#1.#2#3.html'
Pour renommer plusieurs fichiers en convertissant les majuscules en minuscules :
mmv '*' '#l1'
Inversement pour convertir les minuscules en majuscules :
mmv '*' '#u1'
Liens
- La commande ls Linux : utilisation et exemples
- Commande find Linux : Exemples d’utilisation pour rechercher des fichiers
- Copier ou déplacer un fichier sur Linux
- Comment renommer un fichier sur Linux
- La commande cp de Linux : Exemples d’utilisation
- Copier des fichiers ou répertoire dans un terminal sur Linux
- La commande mv : déplacer des fichiers ou répertoires
- La commande rename Linux : utilisation et exemples
- Commande rm Linux : Utilisations et exemples
- Comment supprimer un fichier ou répertoire sur Linux
- rsync : synchroniser, copier des fichiers à distance ou locaux
- Commande locate : utilisations et exemples
- La commande cd Linux : utilisation et exemple
- Comment utiliser la commande tree avec des exemples sur Linux
- Command find : utilisations et exemples pour rechercher des fichiers
- Comment chercher un fichier sur Linux