Czasami wymaga sprawdzenia, czy dany ciąg istnieje w innym ciągu, czy nie do celów programowania. Ponieważ w Bash nie ma wbudowanej funkcji, aby wykonać to zadanie, takie jak inne języki programowania, w Bash są kilka poleceń i operatorów. W tym samouczku pokazano różne sposoby sprawdzania, czy łańcuch zawiera podłoże w bash.
Różne przykłady sprawdzania, czy ciąg zawiera podłoże, czy nie
Różne sposoby wyszukiwania podłańca w głównym ciągu za pomocą instrukcji „If” i „[[” wyrażenie i różne typy poleceń bash są pokazane w tej części samouczka.
Przykład 1: Wyszukaj ciąg za pomocą instrukcji „If”
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu "Jeśli inaczej" oświadczenie. Tutaj wartości głównego ciągu i podłoża są pobierane od użytkownika za pomocą Czytać Komenda. Następnie instrukcja „IF-ELSE” sprawdza, czy podłoże częściowo pasuje do dowolnej części
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Weź wartość ciągu wyszukiwania
Przeczytaj -p „Wprowadź ciąg wyszukiwania:” Wyszukaj
#Sprawdź, czy ciąg wejściowy istnieje w głównym ciągu, czy nie
Jeśli [[$ main_string == * $ Search *]]
Następnie
Echo „istnieje ciąg."
w przeciwnym razie
Echo „ciąg nie istnieje."
fi
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartości podkładu są „Linux” I „Ubuntu”:
Przykład 2: Wyszukaj ciąg za pomocą „[[”
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu „[[” wyrażenie. Tutaj wartości głównego ciągu i podłoża są pobierane od użytkownika za pomocą odczyt polecenie jak w poprzednim przykładzie. Następnie wyrażenie „[[” częściowo sprawdza podłoże dopasowuje się do dowolnej części głównej ciągu za pomocą „*”.
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Weź wartość ciągu wyszukiwania
Przeczytaj -p „Wprowadź ciąg wyszukiwania:” Wyszukaj
#Sprawdź, czy ciąg wejściowy istnieje w głównym ciągu, czy nie
[[$ main_string == * $ wyszukiwanie *]] && echo "'$ wyszukiwanie' istnieje w ciągu.„|| echo” „$ wyszukiwanie” nie istnieje w ciągu."
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartości podkładu są "przychodzić" I "Przychodzić":
Przykład 3: Wyszukaj ciąg za pomocą polecenia „SED”
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu „Sed” Komenda. Tutaj wartość głównego ciągu jest pobierana od użytkownika za pomocą Czytać Komenda. Wartość podłoża jest używana w wyrażeniu regularnym „Sed” polecenie, aby sprawdzić, czy podłoże istnieje w głównym ciągu, czy nie.
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Sprawdź ciąg wejściowy istnieje w głównym ciągu lub nie
[-n "$ (sed -n '/powital/p' <<< $main_string)" ] && echo "String exists." || echo "String does not exist."
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartość podłoża to„Powitanie”:
Przykład 4: Wyszukaj ciąg za pomocą polecenia „GREP”
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu „Grep” Komenda. Tutaj wartości głównego ciągu i podłoża są pobierane od użytkownika za pomocą Czytać polecenie jak w poprzednim przykładzie. Następnie wartość substring jest używana z poleceniem „GREP”, aby sprawdzić, czy wartość istnieje w głównym ciągu.
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Weź wartość ciągu wyszukiwania
Przeczytaj -p „Wprowadź ciąg wyszukiwania:” Wyszukaj
#Sprawdź, czy ciąg wejściowy istnieje w głównym ciągu, czy nie
grep -q „$ wyszukiwanie” <<< $main_string && echo "'$search' exists." || echo "'$search' does not exist."
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartości podkładu są "przychodzić" I "Iść":
Przykład 5: Wyszukaj ciąg za pomocą polecenia „AWK”
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu „Awk” Komenda. Tutaj wartość głównego ciągu jest pobierana od użytkownika za pomocą Czytać Komenda. Wartość podłoża jest używana w wyrażeniu regularnym „Awk” polecenie, aby sprawdzić, czy podłoże istnieje w głównym ciągu, czy nie.
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Sprawdź, czy ciąg wejściowy istnieje w głównym ciągu, czy nie
AWK '$ 0 ~/to/print "istnieje.„” <<< $main_string
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartość podłoża to„Do”:
Przykład 6: Wyszukaj ciąg za pomocą operatora przypadku
Utwórz plik bash z następującym skryptem, który sprawdza, czy ciąg istnieje w innym ciągu "sprawa" oświadczenie. Tutaj wartości głównego ciągu i podłoża są pobierane od użytkownika za pomocą Czytać polecenie jak w poprzednim przykładzie. Następnie „sprawa”Instrukcja częściowo sprawdza dopasowanie podkładu do dowolnej części głównego ciągu za pomocą„*”.
#!/bin/bash
#Passign główny ciąg
Main_String = "Witamy w Linuxhint"
#PROPRUM Główny ciąg
Echo „Główny ciąg to: $ main_string”
#Weź wartość ciągu wyszukiwania
Przeczytaj -p „Wprowadź ciąg wyszukiwania:” Wyszukaj
#Sprawdź ciąg wejściowy istnieje w głównym ciągu lub nie
case $ main_string w
*„$ Search”*)
echo „$ wyszukiwanie” istnieje w ciągu.";;
*)
echo „„ $ wyszukiwanie ”nie istnieje w ciągu.";;
esac
Wyjście:
Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli główną wartością ciągu to „Witamy w Linuxhint”A wartości podkładu to„wskazówka" I "Wskazówka”:
Wniosek
Istnienie podłańca wewnątrz innego ciągu można sprawdzić na różne sposoby za pomocą skryptu Bash. Sposoby korzystania z różnych poleceń i stwierdzeń Bash do wykonania tego zadania są pokazane w tym samouczku.