Manchmal muss prüfen, ob eine bestimmte Zeichenfolge in einer anderen Zeichenfolge vorhanden ist oder nicht zu Programmierzwecken. Da es in Bash keine integrierte Funktion gibt, um diese Aufgabe wie andere Programmiersprachen zu erledigen, gibt es einige Befehle und Operatoren in Bash, um diese Aufgabe zu erledigen. In diesem Tutorial werden verschiedene Möglichkeiten zu überprüfen, ob eine Zeichenfolge ein Substring in Bash enthält.
Verschiedene Beispiele für die Überprüfung, ob eine Zeichenfolge ein Substring enthält oder nicht
Die unterschiedlichen Arten zur Suche nach einem Substring in der Hauptzeichenfolge unter Verwendung der Anweisung "if" und "[" Ausdruck und die verschiedenen Arten von Bash -Befehlen werden in diesem Teil des Tutorials gezeigt.
Beispiel 1: Suchen Sie die Zeichenfolge mit der Anweisung "if"
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "ansonsten" Stellungnahme. Hier werden die Werte der Hauptzeichenfolge und des Substring vom Benutzer verwendet lesen Befehl. Als nächstes überprüft die Anweisung "If-ELSE" die Substring teilweise mit einem Teil der
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Wenden Sie den Wert für Suchzeichenfolge an
Lesen Sie -p "Geben Sie den Suchzeichenfolge ein:" Suche
#Check, ob die Eingabezeichenfolge in der Hauptzeichenfolge vorliegt oder nicht
if [[$ main_string == * $ suche *]]
Dann
Echo "String existiert."
anders
Echo "String existiert nicht."
fi
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHintUnd die Substringwerte sind "Linux" Und "Ubuntu":
Beispiel 2: Suchen Sie die Zeichenfolge mit "[[" mit "[["
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "[[" Ausdruck. Hier werden die Werte der Hauptzeichenfolge und des Substring vom Benutzer verwendet das Lesen Befehl wie im vorherigen Beispiel. Als nächstes prüft der Substring teilweise mit "[[" -Scharnon -Expression mit "**" übereinstimmend mit einem Teil der Hauptzeichenfolge.
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Wenden Sie den Wert für Suchzeichenfolge an
Lesen Sie -p "Geben Sie den Suchzeichenfolge ein:" Suche
#Check, ob die Eingabezeichenfolge in der Hauptzeichenfolge vorliegt oder nicht
[[$ main_string == * $ search *]] && echo "'$ search' existiert in der Zeichenfolge."|| echo" '$ Search' existiert in der Zeichenfolge nicht."
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHintUnd die Substringwerte sind "kommen" Und "Kommen":
Beispiel 3: Suchen Sie die Zeichenfolge mit dem Befehl "SED"
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "Sed" Befehl. Hier wird der Wert der Hauptzeichenfolge vom Benutzer verwendet lesen Befehl. Der Substringwert wird im regulären Ausdruck der verwendet "Sed" Befehl, um zu überprüfen, ob das Substring in der Hauptzeichenfolge vorliegt oder nicht.
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Überprüfen Sie die Eingangszeichenfolge in der Hauptzeichenfolge oder nicht
[-n "$ (sed -n '/Welcome/P' <<< $main_string)" ] && echo "String exists." || echo "String does not exist."
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHint"Und der Substringwert ist"Willkommen”:
Beispiel 4: Suchen Sie die Zeichenfolge mit dem Befehl "grep" mit "Grep"
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "Grep" Befehl. Hier werden die Werte der Hauptzeichenfolge und des Substring vom Benutzer verwendet lesen Befehl wie im vorherigen Beispiel. Als nächstes wird der Substringwert mit dem Befehl „Grep“ verwendet, um zu überprüfen, ob der Wert in der Hauptzeichenfolge vorliegt oder nicht.
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Wenden Sie den Wert für Suchzeichenfolge an
Lesen Sie -p "Geben Sie den Suchzeichenfolge ein:" Suche
#Check, ob die Eingabezeichenfolge in der Hauptzeichenfolge vorliegt oder nicht
grep -q "$ suche" <<< $main_string && echo "'$search' exists." || echo "'$search' does not exist."
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHintUnd die Substringwerte sind "kommen" Und "gehen":
Beispiel 5: Suchen Sie die Zeichenfolge mit dem Befehl "awk" mit dem Befehl "awk"
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "Awk" Befehl. Hier wird der Wert der Hauptzeichenfolge vom Benutzer verwendet lesen Befehl. Der Substringwert wird im regulären Ausdruck der verwendet "Awk" Befehl, um zu überprüfen, ob das Substring in der Hauptzeichenfolge vorliegt oder nicht.
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Check, ob die Eingabezeichenfolge in der Hauptzeichenfolge vorliegt oder nicht
awk '$ 0 ~/to/print "String existiert." ' <<< $main_string
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHint"Und der Substringwert ist"Zu”:
Beispiel 6: Durchsuchen Sie die Zeichenfolge mit dem Fallbetreiber
Erstellen Sie eine Bash -Datei mit dem folgenden Skript, in dem prüft "Fall" Stellungnahme. Hier werden die Werte der Hauptzeichenfolge und des Substring vom Benutzer verwendet lesen Befehl wie im vorherigen Beispiel. Als nächstes das "FallDie Anweisung prüft teilweise, die Substring übereinstimmt mit einem Teil der Hauptzeichenfolge mit "*".
#!/Bin/Bash
#Geben Sie die Hauptzeichenfolge an
main_string = "Willkommen bei LinuxHint"
#Print der Hauptzeichenfolge
Echo "Hauptstring ist: $ main_string"
#Wenden Sie den Wert für Suchzeichenfolge an
Lesen Sie -p "Geben Sie den Suchzeichenfolge ein:" Suche
#Überprüfen Sie die Eingangszeichenfolge in der Hauptzeichenfolge oder nicht
Fall $ main_string in
*"$ search"*)
Echo "'$ Search' existiert in der Zeichenfolge.";;;
*)
Echo "'$ Search' existiert in der Zeichenfolge nicht.";;;
ESAC
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der Hauptstringwert ist. "Willkommen bei LinuxHint"Und die Substringwerte sind"Hinweis" Und "Hinweis”:
Abschluss
Die Existenz des Substring in einer anderen Zeichenfolge kann auf unterschiedliche Weise mit einem Bash -Skript überprüft werden. Die Möglichkeiten der verschiedenen Bash -Befehle und -aussagen, um diese Aufgabe zu erledigen, werden in diesem Tutorial angezeigt.