Hvordan få en bash -substring etter et spesifisert tegn

Hvordan få en bash -substring etter et spesifisert tegn
I programmering er en streng en serie tegn, enten som en presis konstant eller en slags variabel. Tegnene som finnes i en streng kan være et hvilket som helst tall, siffer eller spesiell tegn. Nøkkelord kan brukes til å få en substring etter visse tegn, og alle nøkkelord fungerer det samme. Noen eksempler på nøkkelord inkluderer følgende:
  • Kutte opp
  • Awk
  • Sed

Denne artikkelen gir flere eksempler for å forbedre din forståelse av begrepet å få en substring etter en viss karakter.

For å følge eksemplene som er gitt i denne opplæringen, først, logger du på Linux -systemet ditt og åpner terminalen. Deretter oppretter du en ny fil med navnet “Input.sh.”

Eksempel 1: Bruke kuttnøkkelordet

Åpne filen “Input.sh ”fra hjemmekatalogen, og skriv følgende kode i filen. I vårt første eksempel vil vi definere en streng som heter "String" med en viss verdi i at det har noen tegn og tall. Vi vil bruke nøkkelordet "kuttet" i denne koden, etterfulgt av "-D" for å få substring av den aktuelle strengen. Etter det vil vi gi den eksakte karakteren i omvendt komma som “-“ slik at substringen blir søkt etter denne spesielle karakteren.

Her er det viktig å forstå hovedideen om dannelse av substring. Du må huske hvordan du inkluderer nøkkelordet “F” når du bruker “Cut” -kommandoen. Nøkkelordet “F” kan brukes på forskjellige måter å lage en substring, så la oss se på denne spesielle metoden.

-f2: tekst etter den første spesielle karakteren “-“ og før den neste “-”

Dette betyr at den skal vise substring "bar" fordi den ligger etter den første "-" karakteren og før neste "-" karakter.

Etter å ha kjørt denne bash -filen, skaffet vi oss underlaget "Stang", som vi forventet.

Nå vil vi sjekke det samme eksemplet for nøkkelordet “-F2-”. Oppdater filen, som nedenfor.

-f2-: Teksten etter den første spesielle karakteren “-“ Uansett om det er mange “-“ karakterer.

Dette innebærer at det vil vise substring “Bar-123” fordi den ligger etter den første “-“ karakter, uavhengig av om noen “-“ karakterer eksisterer.

Etter å ha utført denne bash-filen, oppnådde vi substring "Bar-123", som den ligger etter den første "-" karakteren.

Vi vil nå ta samme tilstand, med små endringer i strengen og tegnene. Vi har definert den nye strengen “Str” og tildelt den en annen verdi. I dette eksemplet er "jeg" den spesielle karakteren som skal søkes fra den opprinnelige strengen, og fra denne karakteren og fremover vil vi lage en substring. I dette tilfellet har vi brukt:

-f2: å lage en substring etter den første spesielle karakteren “jeg” og før neste karakter “jeg.”

Dette innebærer at det skal vise substring “LTEFF = STR” fordi den ligger etter den første “I” -karakteren.

Når filen kjører, vil det oppnås en substring før neste "jeg" og etter den første "jeg.”

Du kan prøve denne metoden med samme strenglinje, som vist på bildet nedenfor:

Det vil vise samme resultat som ovenfor.

Nå vil vi bruke "kuttet" nøkkelord med liten endring til "F" -tilstanden i en enkelt linje. Vi vil bruke “F1” i dette tilfellet for å endre resultatet av Substring. Vi bruker:

-f1: å lage en substring før den første spesielle karakteren “Jeg.”

Dette gir at den skal vise underlaget "Genf" fordi den ligger foran spesialpersonen "i.”

Utgangen nedenfor er som forventet.

Her bruker vi det samme eksemplet med liten endring. Vi har brukt den gamle metoden for den.

Resultatet av dette skriptet er det samme som ovenfor.

Deretter tar vi det samme tidligere eksempelet, bruker vi "kuttet" nøkkelord, mens vi endrer nøkkelordet "f.”Her vil vi bruke“ F3 ”for å endre resultatet av Substring, og vi bruker:

-f3: å lage en substring etter neste spesielle tegn “i.”

Dette indikerer at det skal vise substring “ng.-01234 ”fordi det ligger etter neste spesielle tegn“ i.”

Vi kjører den samme koden ved hjelp av bash -kommandoen. Du kan se det nye resultatet nedenfor:

Eksempel 2: Bruke AWK -nøkkelordet

Åpne filen “Input.sh ”og skriv den vedlagte koden i filen. Her har vi erklært en Echo-setning med strengen “Foo-Bar-123” ved hjelp av "AWK" -tnøkkelordet. Utskriftsbegrepet blir fulgt av "-f-" nøkkelordet. Dette vil skape en substring etter neste spesielle karakter, som er "123" og trykke den. Det er ikke nødvendig å definere spesialtegn i dette tilfellet.

Følgende er utgangen “123” som ble nevnt ovenfor.

Eksempel 3: Bruke SED -nøkkelordet

I dette eksemplet vil vi oppdatere den samme filen med koden nedenfor. I dette tilfellet brukes nøkkelordet "sed" i stedet for "kutt" eller "awk.”

Denne koden vil vise en lignende utdata som den forrige eksemplet.

Eksempel 4: Bruke spesialtegn

I neste eksempel vil vi oppdatere den samme filen med koden nedenfor. Her vil vi definere tre strenger: “Streng”, “Searchstr,” og “Temp.”Vi har“ $ String%$ searchstr* ”i koden. "%" Vil søke etter verdien av variabelen "Searchstr", som er "og" og vil fjerne alt etter denne spesielle variabelen fra den originale strengen. Den gjenværende teksten vil bli lagret i variabelen “Temp.”Nå vil den variable“ temp ”bli skrevet ut, sammen med teksten“ Dette er en ny streng.”

Hvis vi utfører koden ovenfor, vil den originale strengen bli skrevet ut først; Deretter vil den nye substringen bli skrevet ut.

Når vi tar det samme eksemplet med en liten oppdatering, vil vi bruke "#*" "-strengen slik at alt som følger verdien av" Searchstr, "som er" og "vil bli satt inn i variabel" Temp.”

Når du sjekker det i bash, vil du se at den gamle strengen skal skrive ut først. Etter det, siden "det vil bli fjernet" er en ny verdi av variabel "temp", det er derfor den vil bli skrevet ut på neste linje først, sammen med teksten "Dette er en ny streng.”

Konklusjon

Hvis du vil skaffe en substring fra en hvilken som helst streng som bruker noen spesielle tegn i den, kan du gjøre det ved å bruke metodene som er gitt ovenfor.