Konvertieren Groß-/Kleinschreibung von Zeichenketten in Bash

Nilesh Katuwal 30 Januar 2023
  1. Verwenden von tr in Bash zum Konvertieren von Buchstaben in Zeichenketten
  2. Verwenden der integrierten Bash 4-Funktion zum Konvertieren von Buchstaben in Zeichenketten
  3. Verwenden von awk in Bash zum Konvertieren von Groß- und Kleinbuchstaben von Zeichenketten
  4. Verwenden von sed in Bash zum Konvertieren von Buchstaben in Zeichenketten
Konvertieren Groß-/Kleinschreibung von Zeichenketten in Bash

In Bash-Befehlen werden Zeichenkettendaten für eine Vielzahl von Funktionen verwendet.

Manchmal müssen wir den String-Case ändern, um das gewünschte Ergebnis zu erhalten. Groß- und Kleinbuchstaben können transformiert werden.

Verwenden von tr in Bash zum Konvertieren von Buchstaben in Zeichenketten

In früheren Versionen von Bash werden Zeichenkettendaten mit dem Befehl tr übersetzt. Der Begriff :upper wird für Grossbuchstaben verwendet, während das Schlüsselwort :lower für Kleinbuchstaben verwendet wird.

Sehen wir uns ein Beispiel an.

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

Ausgabe:

changing all to lowercase

Wenn wir die Position von :upper: und :lower: ändern als:

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

Die Ausgabe wäre:

CHANGING ALL TO UPPERCASE

Wir müssen :lower: später einfügen, um Strings in Kleinbuchstaben umzuwandeln und umgekehrt.

Verwenden der integrierten Bash 4-Funktion zum Konvertieren von Buchstaben in Zeichenketten

Mit den neuen Funktionen von Bash 4 können Sie Zeichenkettenfälle einfacher konvertieren.

Das Symbol ^ wandelt das erste Zeichen einer beliebigen Zeichenfolge in Großbuchstaben um, und das Symbol ^^ wandelt die gesamte Zeichenfolge in Großbuchstaben um. Das Zeichen , wird verwendet, um das Anfangszeichen klein zu schreiben, während das Symbol ,, verwendet wird, um die gesamte Zeichenfolge klein zu schreiben.

Lassen Sie uns beispielsweise eine Variable deklarieren, die in den Beispielen in diesem Abschnitt verwendet wird.

$ var="Example String."

Und wir möchten alle Buchstaben in der Variablen var gross schreiben.

$ echo "${var^^}"

Ausgabe:

EXAMPLE STRING.

Oder vielleicht möchten wir den ersten Buchstaben in Kleinbuchstaben umwandeln.

$ echo "${var,}"

Ausgabe:

example String.

Lassen Sie uns nun die Groß- und Kleinschreibung des Zeichens ändern, indem Sie es auswählen und zuerst das Zeichen i aus der Zeichenfolge in Großbuchstaben ändern.

$ echo "${var^^i}"

Ausgabe:

Example StrIng.

Machen wir dasselbe für zwei Zeichen, r und i, und wandeln sie in Großbuchstaben um.

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

Ausgabe:

Example StRIng.

Verwenden Sie ,, anstelle von ^^, um in Kleinbuchstaben zu wechseln.

Verwenden von awk in Bash zum Konvertieren von Groß- und Kleinbuchstaben von Zeichenketten

Wieder,

$ var="Example String."

Um alle Strings in Kleinbuchstaben umzuwandeln, verwenden wir die tolower()-Methode von awk. Es hat auch eine toupper()-Funktion, um alle Zeichenketten in Großbuchstaben umzuwandeln.

$x bezieht sich auf die Felder des aktuellen Datensatzes. $0 ist ein Sonderfall, der sich auf den gesamten Datensatz bezieht.

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

Ausgabe:

example string.

So konvertieren Sie die gesamte Zeichenfolge in Großbuchstaben:

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

Ausgabe:

EXAMPLE STRING.

Verwenden von sed in Bash zum Konvertieren von Buchstaben in Zeichenketten

Das Skript sed besteht aus Substitutionsbefehlen. Ersatzbefehle sind s/old/new/, die den Text nach etwas suchen, das dem regulären Ausdruck old entspricht, und ihn durch new ersetzen.

Wieder,

$ var="Example String."

s/.*/\L&/ stimmt mit jedem Zeichen in der Eingabe überein und ersetzt es durch eine Kleinbuchstabenversion desselben Zeichens.

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

Ausgabe:

example string.

Verwandter Artikel - Bash String