L'outil en ligne de commande (CLI)
mmv
déplace (ou copie, ajoute ou lie, selon la commande spécifiée) chaque fichier source correspondant à un modèleFrom
au nom cible spécifié par le modèleTo
. Cette action multiple est effectuée en toute sécurité, c'est-à-dire sans aucune suppression inattendue de fichiers en raison de collisions de noms cibles avec des noms de fichiers existants ou avec d'autres noms cibles. De plus, avant de faire quoi que ce soit,mmv
tente de détecter toute erreur qui résulterait de l'ensemble des actions spécifiées et donne à l'utilisateur le choix de poursuivre en évitant les parties incriminées ou en abandonnant.
Cas d'utilisations : renommer des dizaines de fichiers manuellement est long et inhumain
Ce n'est pas à tous les jours qu'on ressent le besoin de renommer massivement des fichiers. Toutefois, dans un processus de développement rapide, standardiser le nom des fichiers générés n'est pas prioritaire. Par exemple, dans le cadre de mon projet actuel, j'ai développé un script léger pour télécharger et horodater des pages web de façon quotidienne : https://github.com/socraticDevBlog/webpage-grabber. En cours de développement, j'ai amélioré la syntaxe des noms de fichier. Par le fait même, le nom des fichiers téléchargés au début du projet diffère des plus récents.
La seconde phase du projet sera de gratter (web scraping
) le contenu des page web téléchargées pour en extraire le contenu et l'insérer dans une base de données. Pour que l'application de web scraping
soit en mesure de s'abreuver dans un répertoire donné, il est nécessaire que le nom des fichiers y soient normalisés. En effet, comme le processus de traitement des données acquises sera automatisé, tous les fichiers doivent être nommés de façon consistante.
Au départ, je me disais qu'il n'y aurait pas de problème pour renommer ces fichiers. Je me proposais d'utiliser les commandes natives de linux
comme mv
et grep
. Toutefois, ces commandes s'appliquent sur un fichier à la fois (à moins de scripter des boucles en bash
ou perl
). En cherchant un peu, j'ai trouvé l'outil mmv
et en suivant les instructions, j'ai rapidemment standardiser tous mes fichiers à traiter.
# apt-get install mmv
$ man mmv
La première commande install mmv
sur votre serveur (Debian
et certaines autres distros). La seconde affiche le manuel d'instruction de l'outil.
Bon succès !