Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Conversion de cas

Les versions récentes de bash ont un support pour la conversion majuscule/minuscule des chaînes. bash

a quatre extensions de paramètres et deux options pour le déclarer commande pour le soutenir.

Alors à quoi sert la conversion de cas ? Outre la valeur esthétique évidente, il a un rôle important dans la programmation. Considérons le cas d'une recherche dans une base de données. Imaginez qu'un utilisateur ait entré une chaîne dans un champ de saisie de données que nous souhaitons rechercher dans une base de données. Il est possible que l'utilisateur entre la valeur dans toutes les lettres majuscules ou minuscules ou une combinaison des deux. Nous ne voulons certainement pas remplir notre base de données avec toutes les permutations possibles d'orthographe en majuscules et en minuscules. Que faire?

Une approche courante de ce problème consiste à normaliser l'entrée de l'utilisateur. C'est-à-dire le convertir


sous une forme standardisée avant de tenter la recherche dans la base de données. Nous pouvons le faire en convertissant tous les caractères saisis par l'utilisateur en minuscules ou en majuscules et en veillant à ce que les entrées de la base de données soient normalisées de la même manière.

Le déclarer La commande peut être utilisée pour normaliser les chaînes en majuscules ou en minuscules. À l'aide de déclarer, on peut forcer une variable à toujours contenir le format souhaité peu importe ce qui lui est assigné :



#! / Bin / bash

# ul-declare : démonstration de la conversion de casse via declare declare -u upper

déclarer -l inférieur


si [[ $1 ]] ; alors

supérieur="$1" inférieur="$1" echo $supérieur echo $inférieur

fi

#! / Bin / bash

# ul-declare : démonstration de la conversion de casse via declare declare -u upper

déclarer -l inférieur


si [[ $1 ]] ; alors

supérieur="$1" inférieur="$1" echo $supérieur echo $inférieur

fi


Dans le script ci-dessus, nous utilisons déclarer pour créer deux variables, supérieur et les baisser. Nous attribuons la valeur du premier argument de la ligne de commande (paramètre positionnel 1) à chacune des variables puis les affichons à l'écran :



[moi@linuxbox ~]$ ul-déclarer aBc

abc

abc

[moi@linuxbox ~]$ ul-déclarer aBc

abc

abc


Comme nous pouvons le voir, l'argument de la ligne de commande ("aBc") a été normalisé.

En plus des déclarer, il existe quatre extensions de paramètres qui effectuent la conversion majuscule/minuscule :


Tableau 34-1 : Extensions des paramètres de conversion de cas


Formater le résultat

Formater le résultat

${paramètre,,} Augmenter la valeur de paramètre en minuscules.


image

${paramètre,} Augmenter la valeur de paramètre changer seulement le premier

caractère en minuscule.


image

${paramètre^^} Augmenter la valeur de paramètre dans toutes les lettres majuscules.


image


image

${paramètre^} Augmenter la valeur de paramètre changer seulement le premier

caractère en majuscule (majuscule).


image


Voici un script qui illustre ces extensions :



#! / Bin / bash

# ul-param : démonstration de la conversion de casse via l'expansion des paramètres if [[ $1 ]] ; alors

écho ${1,,}

écho ${1,} écho ${1^^} écho ${1^}

fi

#! / Bin / bash

# ul-param : démonstration de la conversion de casse via l'expansion des paramètres if [[ $1 ]] ; alors

écho ${1,,}

écho ${1,} écho ${1^^} écho ${1^}

fi


Voici le script en action :



[moi@linuxbox ~]$ ul-param ABC

abc abc ABC

Abc

[moi@linuxbox ~]$ ul-param ABC

abc abc ABC

Abc


Encore une fois, nous traitons le premier argument de la ligne de commande et affichons les quatre variantes prises en charge par les développements de paramètres. Bien que ce script utilise le premier paramètre positionnel, paramètre peut être n'importe quelle chaîne, variable ou expression de chaîne.


Meilleur système d'exploitation Cloud Computing chez OnWorks :