Convertir la casse des chaînes en Bash

Nilesh Katuwal 30 janvier 2023
  1. Utilisation de tr dans Bash pour convertir la casse des chaînes
  2. Utilisation de la fonction intégrée Bash 4 pour convertir la casse des chaînes
  3. Utilisation de awk dans Bash pour convertir la casse des chaînes
  4. Utilisation de sed dans Bash pour convertir la casse des chaînes
Convertir la casse des chaînes en Bash

Dans les commandes bash, les données de chaîne sont utilisées pour diverses fonctions.

Nous avons parfois besoin de modifier la casse des chaînes pour obtenir le résultat souhaité. Les chaînes de caractères majuscules et minuscules peuvent être transformées.

Utilisation de tr dans Bash pour convertir la casse des chaînes

Dans les versions précédentes de bash, les données de chaîne sont traduites à l’aide de la commande tr. Le terme :upper est utilisé pour les lettres majuscules, tandis que le mot-clé :lower est utilisé pour les caractères minuscules.

Prenons un exemple.

echo "Changing All to LOWERCASE" | tr [:upper:] [:lower:]

Production :

changing all to lowercase

Si nous modifions la position de :upper: et :lower: comme :

echo "Changing All to UPPERCASE" | tr [:lower:] [:upper:]

La sortie serait :

CHANGING ALL TO UPPERCASE

Nous devons mettre :lower: plus tard pour convertir les chaînes en minuscules et vice-versa.

Utilisation de la fonction intégrée Bash 4 pour convertir la casse des chaînes

En utilisant les nouvelles fonctionnalités de Bash 4, vous pouvez convertir plus facilement les cas de chaînes.

Le symbole ^ convertit le premier caractère de toute chaîne en majuscule, et le symbole ^^ convertit la chaîne entière en majuscule. Le signe , est utilisé pour mettre en minuscule le caractère initial, tandis que le symbole ,, est utilisé pour mettre en minuscule la chaîne entière.

Par exemple, déclarons une variable utilisée dans les exemples de cette section.

$ var="Example String."

Et nous voudrions mettre toutes les lettres de la variable var en majuscules.

$ echo "${var^^}"

Production :

EXAMPLE STRING.

Ou peut-être voulons-nous transformer la première lettre en minuscule.

$ echo "${var,}"

Production :

example String.

Maintenant, changeons la casse des lettres du caractère en le sélectionnant et en changeant d’abord le caractère i de la chaîne en majuscule.

$ echo "${var^^i}"

Production :

Example StrIng.

Faisons de même pour deux caractères, r et i, et convertissons-les en majuscules.

$ echo "${var^^[r,i]}"

Production :

Example StRIng.

Utilisez ,, au lieu de ^^ pour passer en minuscules.

Utilisation de awk dans Bash pour convertir la casse des chaînes

Encore,

$ var="Example String."

Pour convertir toutes les chaînes en minuscules, nous utilisons la méthode tolower() de awk. Il a également une fonction toupper() pour convertir toutes les chaînes en majuscules.

$x fait référence aux champs de l’enregistrement en cours. $0 est un cas particulier qui fait référence à l’intégralité de l’enregistrement.

$ echo "$var" | awk '{print tolower($0)}'

Production :

example string.

Pour convertir toute la chaîne en majuscule :

$ echo "$var" | awk '{print toupper($0)}'

Production :

EXAMPLE STRING.

Utilisation de sed dans Bash pour convertir la casse des chaînes

Le script sed est composé de commandes de substitution. Les commandes de substitution sont s/old/new/, qui recherche dans le texte quelque chose qui correspond à l’expression régulière old et la remplace par new.

Encore,

$ var="Example String."

s/.*/\L&/ correspond à n’importe quel caractère de l’entrée et le remplace par une version minuscule du même caractère.

$ echo "$var" | sed 's/.*/\L&/'

Production :

example string.

Article connexe - Bash String