Aperçu
mmv, abréviation de 'mass move', est un utilitaire spécialisé dans le traitement simultané de plusieurs fichiers. Contrairement à `mv`, qui est principalement utilisé pour déplacer/renommer des fichiers individuels, mmv utilise des motifs génériques comme `*.jpeg` pour définir un ensemble de fichiers source, puis les transforme en un nouveau motif pour créer l'ensemble de fichiers cible. En particulier, alors que `rename` se concentre sur les fonctionnalités de renommage, `mmv` a l'avantage d'intégrer toutes les fonctions de copie (`cp`), de liaison (`ln`) et de déplacement (`mv`).
Caractéristiques principales
Les principales caractéristiques de la commande mmv sont les suivantes :
- Traite plusieurs fichiers par lots en utilisant des motifs génériques.
- Offre des fonctionnalités intégrées pour déplacer (`mv`), copier (`cp`), lier (`ln`), et renommer des fichiers.
- Similaire à `rename`, mais plus polyvalent et intuitif à utiliser.
- Émet des messages d'avertissement en cas de conflit pour éviter les erreurs.
Différences entre mmv et rename
mmv et rename sont tous deux utilisés pour le renommage de fichiers par lots, mais ils diffèrent dans leur mode de fonctionnement.
- mmv: Utilise des jokers (`*`, `?`, `[ ]`) pour définir des motifs et reconstitue les parties capturées avec des chiffres (#1, #2). Fournit également des fonctions de copie/déplacement/liaison.
- rename: Est spécialisé dans le renommage de fichiers en utilisant les expressions régulières Perl (`s/pattern/replacement/`).
Options principales
La commande mmv permet de contrôler son comportement détaillé via des options et des méthodes de traitement de fichiers.
1) Options de traitement de fichiers
2) Correspondance de motifs
Commande générée :
Essayez de combiner les commandes.
Description:
`mmv` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Familiarisez-vous avec les fonctionnalités de la commande mmv à travers divers exemples d'utilisation.
Changer l'extension des fichiers
mmv '*.jpeg' '#1.jpg'
Change toutes les extensions `.jpeg` en `.jpg` dans le répertoire actuel.
Ajouter un préfixe aux noms de fichiers
mmv '*.txt' 'doc_#1.txt'
Ajoute le préfixe `doc_` à tous les fichiers `.txt`.
Déplacer des répertoires
mmv '*.log' '/var/log/#1.log'
Déplace tous les fichiers `.log` du répertoire actuel vers le répertoire `/var/log`.
Changer la casse
mmv '*.*' '#l1.#l2'
Convertit les noms de fichiers en minuscules.
Aperçu des modifications
mmv -n '*.bak' '#1.old'
Affiche un aperçu du résultat du changement de l'extension `.bak` en `.old` sans modifier réellement les fichiers.
Installation
mmv n'est généralement pas inclus par défaut dans la plupart des distributions Linux, vous devez donc l'installer en utilisant les commandes ci-dessous.
Debian/Ubuntu
sudo apt update
sudo apt install -y mmv
RHEL/CentOS/Fedora
sudo dnf install -y mmv
Arch Linux
sudo pacman -S mmv
Conseils & Précautions
Voici quelques points à noter lors de l'utilisation de la commande mmv.
Conseils
- La syntaxe des motifs de mmv est similaire aux caractères génériques du shell. `*` représente n'importe quelle chaîne de caractères, `?` représente un seul caractère. L'astérisque `*` dans `from_pattern` peut être référencé par des chiffres comme `#1`, `#2` dans `to_pattern`.
- En cas de conflit de noms de fichiers, `mmv` n'effectue pas l'opération par défaut et émet un avertissement. L'option `-f` permet d'ignorer les conflits et de forcer l'écrasement, mais il faut faire attention à la perte de données.
- Pour éviter que les expressions régulières et les motifs génériques ne soient interprétés par le shell, les chaînes de motifs doivent impérativement être entourées de guillemets simples (`'`).