Noen ganger krever det å sjekke om en bestemt streng eksisterer i en annen streng eller ikke for programmeringsformål. Siden det ikke er noen innebygd funksjon i bash for å gjøre denne oppgaven som andre programmeringsspråk, er det noen kommandoer og operatører i bash for å gjøre denne oppgaven. Ulike måter å sjekke om en streng inneholder en substring i bash vises i denne opplæringen.
Forskjellige eksempler på å sjekke om en streng inneholder en substring eller ikke
De forskjellige måtene å søke på en substring i hovedstrengen ved å bruke "if" -setningen og "[[" uttrykk, og de forskjellige typer bash -kommandoer vises i denne delen av opplæringen.
Eksempel 1: Søk i strengen ved å bruke "if" -uttalelsen
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker “If-Else” uttalelse. Her blir verdiene til hovedstrengen og substringen hentet fra brukeren ved hjelp av lese kommando. Deretter samsvarer "if-elv" -uttalelsen, og samsvarer delvis med noen del av
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Tak søkestrengverdien
Les -P "Skriv inn søkestrengen:" Søk
#Sjekk om inngangsstrengen eksisterer i hovedstrengen eller ikke
if [[$ main_string == * $ search *]]
deretter
ekko "Streng eksisterer.""
ellers
ekko "streng eksisterer ikke.""
fi
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdiene er “Linux” og “Ubuntu”:
Eksempel 2: Søk i strengen ved å bruke “[[”
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker “[[” uttrykk. Her blir verdiene til hovedstrengen og substringen hentet fra brukeren ved hjelp av Leset kommando som i forrige eksempel. Deretter sjekker "[[[" -uttrykket delvis Substring -samsvarer med noen del av hovedstrengen ved å bruke "*".
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Tak søkestrengverdien
Les -P "Skriv inn søkestrengen:" Søk
#Sjekk om inngangsstrengen eksisterer i hovedstrengen eller ikke
[[$ main_string == * $ search *]] && echo "'$ search' eksisterer i strengen."|| ekko" '$ søk' eksisterer ikke i strengen.""
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdiene er "komme" og "Komme":
Eksempel 3: Søk i strengen ved hjelp av “SED” -kommandoen
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker “Sed” kommando. Her er verdien av hovedstrengen hentet fra brukeren ved å bruke lese kommando. Substringverdien brukes i det vanlige uttrykket av “Sed” kommando for å sjekke om substringen eksisterer i hovedstrengen eller ikke.
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Check Inngangsstrengen eksisterer i hovedstrengen eller ikke
[-n "$ (sed -n '/velkomst/p' <<< $main_string)" ] && echo "String exists." || echo "String does not exist."
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdien er“Velkommen”:
Eksempel 4: Søk i strengen ved hjelp av “grep” -kommandoen
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker “Grep” kommando. Her blir verdiene til hovedstrengen og substringen hentet fra brukeren ved hjelp av lese kommando som i forrige eksempel. Deretter brukes substringverdien med “grep” -kommandoen for å sjekke om verdien eksisterer i hovedstrengen eller ikke.
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Tak søkestrengverdien
Les -P "Skriv inn søkestrengen:" Søk
#Sjekk om inngangsstrengen eksisterer i hovedstrengen eller ikke
grep -q "$ søk" <<< $main_string && echo "'$search' exists." || echo "'$search' does not exist."
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdiene er "komme" og "gå":
Eksempel 5: Søk i strengen ved hjelp av “AWK” -kommandoen
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker “Awk” kommando. Her er verdien av hovedstrengen hentet fra brukeren ved å bruke lese kommando. Substringverdien brukes i det vanlige uttrykket av “Awk” kommando for å sjekke om substringen eksisterer i hovedstrengen eller ikke.
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Sjekk om inngangsstrengen eksisterer i hovedstrengen eller ikke
awk '$ 0 ~/til/print "String eksisterer." ' <<< $main_string
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdien er“til”:
Eksempel 6: Søk i strengen ved hjelp av saksoperatøren
Lag en bash -fil med følgende skript som sjekker om en streng eksisterer i en annen streng eller ikke bruker "sak" uttalelse. Her blir verdiene til hovedstrengen og substringen hentet fra brukeren ved hjelp av lese kommando som i forrige eksempel. Neste, “sak”Uttalelse sjekker delvis Substring -samsvarer med noen del av hovedstrengen ved å bruke“*”.
#!/bin/bash
#Tilbud hovedstrengen
main_string = "Velkommen til Linuxhint"
#Trykk hovedstrengen
ekko "hovedstreng er: $ main_string"
#Tak søkestrengverdien
Les -P "Skriv inn søkestrengen:" Søk
#Check Inngangsstrengen eksisterer i hovedstrengen eller ikke
sak $ main_string i
*"$ søk"*)
ekko "'$ søk' eksisterer i strengen.";;
*)
Echo "'$ Search' eksisterer ikke i strengen.";;
Esac
Produksjon:
Følgende utgang vises etter å ha utført det forrige skriptet hvis hovedstrengverdien er "Velkommen til Linuxhint”Og substringverdiene er“hint”Og“Hint”:
Konklusjon
Eksistensen av substringen inne i en annen streng kan sjekkes på forskjellige måter ved hjelp av et bash -skript. Måtene å bruke de forskjellige bash -kommandoene og utsagnene for å gjøre denne oppgaven vises i denne opplæringen.