BASH-ohjelmointi

Kuinka hankkia Bash-merkkijono määritetyn merkin jälkeen

Kuinka hankkia Bash-merkkijono määritetyn merkin jälkeen
Ohjelmoinnissa merkkijono on sarja merkkejä, joko tarkkana vakiona tai jonkinlaisena muuttujana. Merkkijonossa olevat merkit voivat olla mitä tahansa numeroita, numeroita tai erikoismerkkejä. Avainsanoilla voidaan saada alimerkkijono tiettyjen merkkien jälkeen, ja kaikki avainsanat toimivat samalla tavalla. Joitakin esimerkkejä avainsanoista ovat seuraavat:

Tässä artikkelissa on useita esimerkkejä, joiden avulla voit paremmin ymmärtää käsitteen saada alimerkkijono tietyn merkin jälkeen.

Seuraa tässä opetusohjelmassa annettuja esimerkkejä kirjautumalla ensin Linux-järjestelmään ja avaamalla pääte. Luo seuraavaksi uusi tiedosto nimeltä "input".sh.”

Esimerkki 1: Leikatun avainsanan käyttö

Avaa tiedosto “input.sh ”kotihakemistosta ja kirjoita seuraava koodi tiedostoon. Ensimmäisessä esimerkissämme määritämme merkkijonon nimeltä "merkkijono", jossa on jonkin verran merkkejä ja numeroita. Käytämme avainsanaa "cut" tässä koodissa, jota seuraa "-d" saadaksesi tietyn merkkijonon alimerkkijonon. Sen jälkeen annamme tarkan merkin käänteisissä pilkuissa muodossa "-", jotta alimerkkijono etsitään tämän erikoismerkin jälkeen.

Tässä on tärkeää ymmärtää osajonon muodostamisen pääidea. Sinun on muistettava, kuinka avainsana "f" lisätään käytettäessä "cut" -komentoa. Avainsanaa "f" voidaan käyttää eri tavoin luomaan alimerkkijonoa, joten katsokaamme tätä menetelmää.

-f2: ensimmäisen erikoismerkin "-" jälkeen ja ennen seuraavaa "-"

Tämä tarkoittaa, että sen tulisi näyttää alimerkkipalkki, koska se sijaitsee ensimmäisen merkin "-" jälkeen ja ennen seuraavaa "-" merkkiä.

Tämän bash-tiedoston suorittamisen jälkeen saimme osamerkkijonon "palkin", kuten odotimme.

Tarkistamme nyt saman esimerkin avainsanalle “-f2-”. Päivitä tiedosto alla olevien ohjeiden mukaisesti.

-f2-: ensimmäisen erikoismerkin "-" seuraava teksti riippumatta siitä, onko "-" merkkejä useita.

Tämä tarkoittaa, että se näyttää alimerkkijonon "bar-123", koska se sijaitsee ensimmäisen "-" merkin jälkeen riippumatta siitä, onko merkkejä "-".

Tämän bash-tiedoston suorittamisen jälkeen saimme alaosan "bar-123", koska se sijaitsee ensimmäisen "-" merkin jälkeen.

Otamme nyt saman ehdon, pieniä muutoksia merkkijonoon ja merkkeihin. Olemme määrittäneet uuden merkkijonon "str" ​​ja antaneet sille toisen arvon. Tässä esimerkissä ”i” on erikoismerkki, jota haetaan alkuperäisestä merkkijonosta, ja tästä merkistä lähtien luomme alimerkkijonon. Tässä tapauksessa olemme käyttäneet:

-f2: luoda alimerkkijono, joka seuraa ensimmäistä erikoismerkkiä "i" ja ennen seuraavaa merkkiä "i".”

Tämä tarkoittaa, että sen tulisi näyttää alimerkkijono "ltEff = str", koska se sijaitsee ensimmäisen "i" -merkin jälkeen.

Kun tiedosto suoritetaan, alimerkkijono saadaan ennen seuraavaa “i” ja ensimmäisen ”i” jälkeen.”

Voit kokeilla tätä menetelmää samalla merkkijonorivillä, kuten alla olevassa kuvassa näkyy:

Se näyttää saman tuloksen kuin yllä.

Nyt käytämme avainsanaa "leikkaus" muuttamatta vain f-ehtoa yhdellä rivillä. Käytämme tässä tapauksessa merkintää "f1" muuttamaan alimerkkijonon lopputulosta. Käytämme:

-f1: luoda alimerkkijono ennen ensimmäistä erikoismerkkiä “i.”

Tämä päättelee, että sen tulisi näyttää alimerkkijono "GenF", koska se sijaitsee ennen erikoismerkkiä "i".”

Alla oleva tulos on odotettua.

Täällä käytämme samaa esimerkkiä vähän muutoksia. Olemme käyttäneet siihen vanhaa menetelmää.

Tämän komentosarjan tulos on sama kuin yllä.

Seuraavaksi, käytämme samaa edellistä esimerkkiä, käytämme avainsanaa "leikkaus" samalla kun muutamme avainsanaa "f"."Tässä käytämme" f3 ": ää muuttamaan alimerkkijonon lopputulosta, ja käytämme:

-f3: luoda alimerkkijono seuraavan erikoismerkin “i.”

Tämä osoittaa, että sen tulisi näyttää alaotsikko “ng.-01234 ”, koska se sijaitsee seuraavan erikoismerkin“ i.”

Suoritamme saman koodin Bash-komennolla. Näet uuden tuloksen alla:

Esimerkki 2: Awk-avainsanan käyttö

Avaa tiedosto “input.sh ”ja kirjoita liitteenä oleva koodi tiedostoon. Tässä olemme julistaneet kaikulausekkeen merkkijonolla "foo-bar-123" käyttämällä "awk" -avainsanaa. Tulostustermiä seuraa avainsana “-F-”. Tämä luo alimerkkijonon seuraavan erikoismerkin, joka on “123”, jälkeen ja tulostaa sen. Erikoismerkkiä ei tarvitse määritellä tässä tapauksessa.

Seuraava on edellä mainittu tuotos ”123”.

Esimerkki 3: Sed-avainsanan käyttö

Tässä esimerkissä päivitämme saman tiedoston alla olevalla koodilla. Tässä tapauksessa käytetään avainsanaa "sed" sanan "cut" tai "awk" sijaan.”

Tämä koodi näyttää samanlaisen tuotoksen kuin edellinen esimerkki.

Esimerkki 4: Erikoismerkkien käyttö

Seuraavassa esimerkissä päivitämme saman tiedoston alla olevalla koodilla. Tässä määritellään kolme merkkijonoa: "merkkijono", "searchstr" ja "temp.”Koodissa on” $ string% $ searchstr * ”. "%" Etsii muuttujan "searchstr" arvoa, joka on "ja", ja poistaa kaiken tämän erikoismuuttujan jälkeen alkuperäisestä merkkijonosta. Jäljellä oleva teksti tallennetaan muuttujaan "temp.”Nyt tulostetaan muuttuja” temp ”ja teksti” Tämä on uusi merkkijono.”

Jos suoritamme yllä olevan koodin, alkuperäinen merkkijono tulostetaan ensin; sitten uusi alaosa tulostetaan.

Ottaen saman esimerkin pienellä päivityksellä käytämme merkkijonoa "# *", jotta kaikki "searchstr" -arvon, joka on "ja", seuraava lisätään muuttujaan "temp".”

Kun tarkistat sen Bashissa, huomaat, että vanha merkkijono tulostuu ensin. Sen jälkeen, koska "se poistetaan" on muuttujan "temp" uusi arvo, siksi se tulostetaan ensin seuraavalla rivillä tekstin "Tämä on uusi merkkijono" kanssa.”

Johtopäätös

Jos haluat saada alimerkkijonon mistä tahansa merkkijonosta käyttämällä siinä jotain erikoismerkkiä, voit tehdä sen käyttämällä yllä annettuja menetelmiä.

Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...
Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...
Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...