GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Convertir les noms de fichiers en minuscules via la ligne de commande Ubuntu

Lorsque vous travaillez avec Linux, vous pouvez rencontrer des utilitaires et des applications qui ne fonctionnent qu'avec des noms de fichiers en minuscules. Nous n'enregistrons généralement pas les fichiers dans ce format et nous devrons peut-être rechercher une solution de contournement qui convertit de manière récursive tous les noms de fichiers d'un dossier en minuscules. Dans cet article, nous allons vous montrer deux façons de convertir tous les noms de fichiers et de dossiers d'un chemin donné en minuscules, simplement via la ligne de commande.

Nous avons exécuté les commandes et procédures mentionnées dans cet article sur un système Ubuntu 18.04 LTS.

Voici comment lister le contenu de votre dossier à l'aide de la commande find :

$ find [nom_répertoire] -profondeur

Mon dossier Téléchargements, que j'utiliserai comme exemple pour cet article, contient tous les fichiers commençant par des lettres majuscules et en contient également quelques-uns entre les noms.

$ find Downloads -depth

Méthode 1 :Utilisation de la commande de renommage

Dans cette méthode, nous utiliserons les commandes Ubuntu find, Xargs et rename afin de renommer de manière récursive tous les fichiers/dossiers d'un répertoire donné.

Ouvrez votre ligne de commande Ubuntu, le Terminal, soit via la recherche du lanceur d'applications, soit via le raccourci Ctrl+Alt+T.

Voici la syntaxe de la commande que vous utiliserez :

$ find [nom_répertoire] -depth | xargs -n 1 renommer -v ‘s/(.*)\/([^\/]*)/$1\/\L$2/’ {} \;

Si la commande de renommage n'est pas installée sur votre système, vous risquez d'obtenir une erreur lorsque vous exécutez la commande ci-dessus. Vous pouvez installer renommer sur votre Ubuntu via la commande apt-get suivante :

$ sudo apt-get install rename

J'utiliserai la commande suivante pour convertir les noms de fichiers en minuscules dans mon répertoire Téléchargements :

$ find Downloads -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

Lorsque j'ai répertorié à nouveau le contenu du répertoire, j'ai pu voir tous les noms de fichiers convertis en minuscules comme suit :

Méthode 2 :Utiliser un script pour renommer les fichiers

Dans cette méthode, nous utiliserons un script bash qui utilise les commandes find et mv afin de renommer de manière récursive les noms de fichiers et de dossiers d'un répertoire, y compris le nom du répertoire lui-même.

Ouvrez l'application Terminal et déplacez-vous vers le dossier bin comme suit :

$ cd ~bin

Maintenant, ouvrez un nouveau fichier de script dans l'un de vos éditeurs de texte préférés. Nous allons utiliser l'éditeur nano pour ouvrir un fichier de script vide du nom de lowercase_filenames.sh

$ sudo nano lowercase_filenames.sh

Dans ce fichier vide, ajoutez le script suivant.

#!/bin/bash
#print usage
if [ -z $1 ];then
echo "Usage :$(basename $0) parent-directory"
exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"

for name in ${all}; do
#set new name in lower case for files and directories
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"
#check if new name already exists
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

Astuce : Au lieu de taper tout le script dans votre fichier bash, vous pouvez le copier à partir d'ici et le coller dans le terminal en utilisant Ctrl+Maj+V, ou en utilisant l'option Coller du menu contextuel.

Voici à quoi ressemblera votre fichier :

Maintenant, quittez le fichier via le raccourci Ctrl + X et enregistrez le fichier sur le "Enregistrer le tampon modifié?" invite en tapant Y puis en appuyant sur Entrée.

Afin de faire de ce fichier un script exécutable, exécutez la commande suivante dans votre Terminal :

$ sudo chmod +x lowercase_filenames.sh

Vous êtes maintenant prêt à utiliser le script sur n'importe lequel de vos dossiers.

Lorsque j'exécute le script sur mon dossier Téléchargements, je vois tous les noms de fichiers et de sous-dossiers convertis en minuscules comme suit :

Donc, ce sont les deux façons par lesquelles vous pouvez renommer les noms de fichiers en minuscules afin que l'application que vous utilisez ne manque pas de reconnaître les noms de fichiers en majuscules.


Ubuntu
  1. Comment ouvrir facilement un fichier PDF à partir de la ligne de commande dans Ubuntu

  2. Télécharger un fichier sur Ubuntu à l'aide de la ligne de commande sur le système Ubuntu 20.04

  3. Comment convertir un fichier Excel en un fichier Calc à partir de la ligne de commande ?

  4. La restauration des sauvegardes échoue Ubuntu 16.04 ?

  5. Alternative à la ligne de commande SSH d'Ubuntu

Personnalisations de l'interface graphique de GNOME via la ligne de commande Ubuntu

Suppression par lots des espaces dans les noms de fichiers via la ligne de commande Ubuntu

Comment télécharger un fichier sur Ubuntu Linux à l'aide de la ligne de commande

3 façons de redémarrer Ubuntu via la ligne de commande

Mettre à niveau Ubuntu 18.04 vers Ubuntu 19.04 directement à partir de la ligne de commande

Mettre à niveau Ubuntu 18.04 vers Ubuntu 19.10 directement à partir de la ligne de commande