Konvertieren Groß-/Kleinschreibung von Zeichenketten in Bash
-
Verwenden von
tr
in Bash zum Konvertieren von Buchstaben in Zeichenketten - Verwenden der integrierten Bash 4-Funktion zum Konvertieren von Buchstaben in Zeichenketten
-
Verwenden von
awk
in Bash zum Konvertieren von Groß- und Kleinbuchstaben von Zeichenketten -
Verwenden von
sed
in Bash zum Konvertieren von Buchstaben in Zeichenketten
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.