Supersection 1, Less Comfortable
Inhaltsverzeichnis:
Eine der häufigsten Operationen beim Arbeiten mit Zeichenfolgen in Bash besteht darin, zu bestimmen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.
zeigen wir Ihnen verschiedene Möglichkeiten, um zu überprüfen, ob eine Zeichenfolge eine Teilzeichenfolge enthält.
Platzhalter verwenden
Am einfachsten ist es, die Teilzeichenfolge mit Sternchen-Platzhaltersymbolen (Sternchen)
*
und mit der Zeichenfolge zu vergleichen. Platzhalter ist ein Symbol, das für null, ein oder mehrere Zeichen verwendet wird.
Wenn der Test
true
zurückgibt, ist die Teilzeichenfolge in der Zeichenfolge enthalten.
Im folgenden Beispiel überprüfen wir mit der if-Anweisung und dem Gleichheitsoperator (
==
), ob die Teilzeichenfolge
SUB
in der Zeichenfolge
STR
:
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Bei der Ausführung gibt das Skript Folgendes aus:
Verwenden des Falloperators
Anstelle der if-Anweisung können Sie auch die case-Anweisung verwenden, um zu überprüfen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac
Regex Operator verwenden
Eine weitere Option, um festzustellen, ob eine angegebene Teilzeichenfolge in einer Zeichenfolge vorkommt, ist die Verwendung des Regex-Operators
=~
. Wenn dieser Operator verwendet wird, wird die richtige Zeichenfolge als regulärer Ausdruck betrachtet.
Der Punkt gefolgt von einem Sternchen
.*
Entspricht keinem oder mehreren Vorkommen eines beliebigen Zeichens mit Ausnahme eines Zeilenumbruchs.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Das Skript gibt Folgendes wieder:
Grep verwenden
Mit dem Befehl grep können Sie auch Zeichenfolgen in einer anderen Zeichenfolge suchen.
Im folgenden Beispiel übergeben wir die Zeichenfolge
$STR
als Eingabe an grep und überprüfen, ob die Zeichenfolge
$SUB
in der Eingabezeichenfolge enthalten ist. Der Befehl gibt je nach Bedarf
true
oder
false
.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi
Die Option
-q
weist grep an, still zu sein, um die Ausgabe auszulassen.
Fazit
Die Überprüfung, ob eine Zeichenfolge eine Teilzeichenfolge enthält, ist eine der grundlegendsten und am häufigsten verwendeten Operationen in der Bash-Skripterstellung.
Nachdem Sie dieses Tutorial gelesen haben, sollten Sie wissen, wie Sie testen können, ob eine Zeichenfolge eine andere Zeichenfolge enthält. Sie können auch andere Befehle wie
awk
oder
sed
zum Testen verwenden.
Chrome 13 veröffentlicht: Enthält Sofortseiten, Druckvorschau und mehrChrome 13 veröffentlicht: Enthält Sofortseiten, Seitenansicht und mehr
Chrome herunterladen 13. Es führt eine neue Funktion namens "Sofortige Seiten" ein, die standardmäßig aktiviert ist. Enthält auch die Druckvorschau mit dem integrierten PDF-Viewer.
Verwenden Sie Suchen & Ersetzen, um eine Zeichenfolge nach einem Wort in ms einzufügen
Wussten Sie, dass Sie das Tool zum Suchen und Ersetzen in Microsoft Word verwenden können, um eine Textzeichenfolge nach einem Wort einzufügen und eine schnelle und bessere Suche durchzuführen? Siehe wie.
Wechseln Sie zur iPad-Oberfläche in Chrome, indem Sie die Zeichenfolge des Benutzeragenten ändern
Wechseln Sie zur iPad-Oberfläche in Chrome, indem Sie die User Agent-Zeichenfolge ändern.