Dans de nombreuses occasions, il est préférable d'avoir le noms de fichiers et de répertoires en minuscules. Renommer un par un est un travail très difficile. Surtout quand il y a des centaines ou des milliers de fichiers, le travail devient plus compliqué et difficile à passer à la main. Mais cela ne veut pas dire que c'est impossible ou qu'il n'y a pas de méthode pour le faire de manière totalement rapide et automatisée.
Mais au-delà de l'esthétique pure ou des préférences de chaque utilisateur, il s'agit parfois de problèmes techniques, car certains les applications ne peuvent pas fonctionner avec certains noms en majuscules et ils doivent être convertis. Lorsque vous rencontrez l'une de ces applications, vous accumulez peut-être des fichiers avec des noms de toutes sortes depuis longtemps, et revenir en arrière devient compliqué. Mais ne vous inquiétez pas, il a une solution simple comme je vous le montre dans ce tutoriel ...
Convertir les majuscules en minuscules
La première chose que vous devriez savoir est que la commande suivante convertira toutes les majuscules en minuscules, y compris s'il y a des sous-répertoires dans ce répertoire. Donc, si vous ne voulez pas qu'ils soient tous en minuscules, faites-le simplement dans le répertoire spécifique ou cela convertira tout pour vous. Cela me semble important pour que plus tard vous n'ayez pas de problèmes et que les noms que vous ne vouliez pas être convertis en minuscules soient convertis.
D'un autre côté, vous avez besoin avoir le programme de changement de nom installé. Si vous ne l'avez pas installé, utilisez le gestionnaire de paquets de votre distribution pour l'installer facilement. Cependant, en général, vous devriez l'avoir installé, il ne sera donc pas nécessaire de l'installer dans tous les cas. Cet outil vous servira à pouvoir modifier plusieurs noms en même temps, au lieu d'utiliser le mv typique pour modifier le nom un par un ...
Une autre chose que vous devez savoir avant de vous mettre au travail est que si, lors de la conversion des majuscules en minuscules, il porte le même nom, il ne sera pas converti. Vous savez déjà que Linux a sensible aux majuscules et minuscules dans votre FS, il est donc sensible à la casse. Cela signifie que si vous avez un fichier appelé Hello2 et HELLO2, le système les différencie. Mais, bien sûr…, quand ils passent en minuscules, ils s'appelleraient tous les deux hello2 et ce n'est pas possible. Par conséquent, il lancera un message d'erreur et ne le transformera pas.
Après cela, vous avez tout ce que vous devez savoir et nous pouvons commencer à transformer les noms en majuscules en minuscules. le commande générique Ce serait le suivant, et vous pouvez le modifier pour qu'il pointe vers le répertoire de votre choix:
<br data-mce-bogus="1"> <em>find <nombre_directorio> -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;</em>
Vous remplacer par le nom du répertoire ou le chemin du répertoire que vous souhaitez mettre en minuscules. Par exemple, comme l'exemple que je vous montre dans l'image qui est Test, mais cela pourrait aussi être n'importe quel autre. Pour les débutants, disons que par chemin, j'entends le chemin, quand il n'est pas directement dans le répertoire où vous vous trouvez actuellement. Par exemple, si vous êtes dans ~ / mais que vous souhaitez agir sur / home / user / Downloads.
Convertissez-le en script
Pour faciliter la conversion majuscules et minuscules, vous pouvez créer un script laissez-le faire pour vous et vous n'aurez pas à entrer la commande ci-dessus chaque fois que vous aurez besoin d'une conversion. Ceci est très utile pour ceux qui passent constamment des noms. De plus, si vous le placez dans l'un des chemins de la variable d'environnement $ PATH, vous pouvez l'exécuter simplement en invoquant son nom, sans avoir à le placer dans le même répertoire où vous travaillez ou à spécifier le chemin complet ...
Les étapes à suivre pour créer le script de conversion sont:
- La première est aller dans le répertoire / bin pour y inclure le script et ainsi l'utiliser comme n'importe quelle autre commande, en invoquant simplement son nom depuis le terminal.
<br data-mce-bogus="1"> cd ~/bin<br data-mce-bogus="1">
- Puis créer avec nano, ou avec votre éditeur de texte préféré, le fichier avec le script et appelez-le comme vous préférez. Je vais l'appeler mayutominu:
sudo nano mayutominu.sh
- Dans nano, vous devez coller le texte suivant pour le code de ce script de bash :
</pre><pre>#!/bin/bash if [ -z $1 ];then echo "Uso :$(basename $0) parent-directory" exit 1 fi all="$(find $1 -depth)" for name in ${all}; do new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')" if [ "${name}" != "${new_name}" ]; then [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!" fi done exit 0</pre><pre>
- maintenant enregistrer le fichier en utilisant la combinaison de touches Ctrl + O et quitter avec Ctrl + X. Vous avez déjà créé votre fichier mayutominu.sh avec le script, ce qui suit est donner la permission d'exécution:
sudo chmod +x mayutominu.sh
- Vous l'avez enfin prêt à l'emploi. Comment ça se fait? Eh bien, en continuant avec le même exemple dans la section précédente, si vous souhaitez changer les noms du répertoire Test de majuscules à minuscules, vous pouvez faire ce qui suit:
mayutominu Prueba
- Vous savez, si vous devez spécifier le chemin complet, ou chemin, vous pouvez également, si le répertoire n'est pas dans la position actuelle. Par exemple:
mayutominu /home/usuario/Descargas
J'espère que cela vous a aidé, vous savez que toutes les questions ou suggestions, vous pouvez laisser vos commentaires...
Dans Debian, cela me dit ceci:
-bash: erreur de syntaxe près du jeton inattendu `newline
trouve -depth | xargs -n 2 renommer -v 's /(.*)\/((^\/)*)/$ 1 \ / \ L $ 1 /' {} \;