BASH-ohjelmointi

Kuinka käyttää $ IFS ää Bashissa?

Kuinka käyttää $ IFS ää Bashissa?
Komentosarjoissa meidän on katkaistava merkkijonotiedot useista syistä. Split on integroitu ominaisuus monilla tietokonekielillä, joka jakaa jokaisen tietojonon osiin. Bashista puuttuu kuitenkin sisäänrakennettu ominaisuus merkkijonon jakamiseksi. Minkä tahansa merkkijonon arvon rikkomiseksi on käytettävä monia yksittäisiä ja yhdistettyjä erottimia. Muuttujaa IFS (Internal Field Separator) käytetään määrittämään tietty rajain merkkijonojaolle. Tässä oppaassa opit käyttämään erilaisia ​​menetelmiä havainnollistamaan merkkijonoarvon rikkomista bashissa $ IFS: n avulla.

Edellytykset

Varmista, että Linux-pohjainen järjestelmä on asennettu ja määritetty. Työskentelemme Ubuntu 20: n kanssa.04 Linux-järjestelmä. Kirjaudu sisään Ubuntu-tilisi käyttäjältä, jotta voit aloittaa IFS: n käytön. On parempi, jos kirjaudut sisään pääkäyttäjätililtäsi. Kun olet kirjautunut sisään, käynnistä järjestelmän komentorivipääte Aktiviteetit-alueelta.

Esimerkki 01: IFS Jaa merkkijono käyttämällä välilyöntiä arvona

Ensimmäisessä esimerkissä ymmärrämme merkkijonon jakamisen bashissa samalla kun käytetään tilaa raja-arvona IFS-muuttujaa käyttäen. Ensinnäkin meidän on luotava järjestelmäämme bash-tiedosto. Voimme luoda uusia tiedostoja Linux-järjestelmäämme kosketuskomennolla. Kuten alla on esitetty, olemme luoneet bash-tiedoston 'file1.sh 'käyttämällä' kosketus '-ohjetta:

$ touch-tiedosto 1.sh

Avaa Linux-järjestelmän kotihakemisto käyttämällä Ubuntu 20: n vasemmassa kulmassa näkyvää kansiokuvaketta.04 työpöytä. Löydät uuden luomasi bash-tiedoston “file1.sh ”siinä. Avaa tiedosto “file1.sh ”ja kirjoita alla oleva komentosarja. Ensinnäkin olemme määrittäneet merkkijonon nimeltä "str", jossa on jokin merkkijonoarvo. Sitten määritellään erotinmuuttuja IFS muuttujaksi, jonka arvona on välilyönti. Sen jälkeen käytimme read-käskyä tallentaaksemme ja lukiessamme jaetut tiedot taulukkoon strarr käyttämällä -lippua -a. Kaiku-käskyä käytetään merkkijonorivin ja taulukon kokonaissanojen määrän tulostamiseen käyttämällä “$ # strarr [*]”. ”For” -silmukkaa käytetään taulukon arvojen tulostamiseen jaetussa muodossa käyttämällä muuttujaa “var”. Takaviivaa "\ n" oli käytetty tulostusrivillä yhdessä muuttujan "var" kanssa jakamaan yhden rivin tauko taulukon jokaisen arvon jälkeen. Tallenna komentosarja "Ctrl + S" -näppäimellä ja sulje tiedosto jatkaaksesi.

Tule takaisin terminaalin puolelle. Tarkistamme nyt yllä olevan koodin lähdön. Tätä varten käytämme 'bash' -komentoa yhdessä tiedoston nimen "tiedosto1" kanssa.sh ”suorittaaksesi sen, joka näkyy alla. Ensinnäkin se näytti “kaiku” -lausekkeessa mainitun rivin yhdessä taulukon sanamäärän kanssa. Sen jälkeen se näytti kaikki matriisin arvot IFS: n jakamalla “for” -silmukalla.

$ bash-tiedosto 1.sh

Esimerkki 02: IFS Jaa merkkijono käyttämällä merkkiä arvona

Edellä mainitussa esimerkissä olet nähnyt, kuinka merkkijonomuuttujat jaetaan osiin samalla kun käytetään avaruutta IFS: n erottimena. Nyt käytämme merkkiä jakamaan merkkijono IFS-erottimen avulla. Avaa komentoterminaali ja luo uusi bash-tiedosto “file2.sh ”Linux-järjestelmän kotihakemistossa käyttämällä” touch ”-komentoa seuraavasti:

$ touch-tiedosto2.sh

Avaa Linux-järjestelmän kotihakemisto. Löydät vasta luodun tiedoston siitä. Avaa uusi tiedosto ja kirjoita alla esitetty bash-koodi. Linjalla 3 olemme aloittaneet kaiku-lauseen viivan tulostamiseksi. Seuraava rivi lukee käyttäjän antaman syötteen päätelaitteessa ”read” -hakusanalla. Seuraavaksi määriteltiin ”IFS” -erotin ja asetettiin pilkku “,” sen merkin arvoksi. Toinen "read" -käsky on määritetty lukemaan ja tallentamaan merkkijonon pilkkujakoarvot, jotka käyttäjä syöttää taulukkoon "strarr". Viimeinkin olemme aloittaneet kolme kaikulauseketta tulostamaan pilkuilla erotetut jakoarvot muuttujina kuvan mukaisesti. Tallenna ja sulje tämä tiedosto.

Nyt meidän on suoritettava tämä tallennettu tiedosto. Suorita alla esitetty bash-komento ja sen jälkeen terminaalissa olevan tiedoston nimi. Sinun on lisättävä merkkijonoarvo, jonka on sisällettävä pilkku “,”, ja paina Enter-painiketta. Nyt tietosi on tallennettu taulukkoon "strarr". Kolme viimeistä riviä osoittavat “kaiku” -lausekkeiden tuotoksen. Voit nähdä, että jokaista tekstiä ennen pilkua ja sen jälkeen on käytetty erillisenä arvona.

$ bash-tiedosto2.sh

Esimerkki 03: IFS-jaettu merkkijono

Olemme tehneet molemmat aikaisemmat esimerkit bash-tiedostossa. Meillä on nyt kuva IFS: n käytöstä luomatta bash-tiedostoa. Avaa komento kuori tehdäksesi niin. Ensinnäkin meidän on luotava merkkijono "var", jossa on merkkijonoarvo. Tämä merkkijono sisältää pilkkuja jokaisen sanan jälkeen.

$ var = ”Hei, olen, 25, vuotias, vanha.”

Alusta seuraavaksi IFS-muuttuja siten, että erotinarvo on merkkipilkku.

$ IFS =,

Sen jälkeen käytimme "for" -silmukkaa etsimään jokaisen sanan muuttujasta "var", joka erotettiin IFS-erottelupilkulla, ja tulosta se käyttämällä lausetta "echo".

$ for i muodossa $ var
> tee
> kaiku [$ i]
> Valmis

Sinulla on lähtö alla. Se näyttää jokaisen merkkimuuttujan "var" sanan uudella rivillä erotinmerkkipilkun "," vuoksi, jota käytetään jaettuna merkkinä.

Päätelmä:

Tässä oppaassa olet oppinut useita menetelmiä syöttöarvojen jakamiseksi bashissa, esim.g., välilyönnillä tai merkillä. Toivomme, että tässä opetusoppaassa mainitut kuvat auttavat sinua katkaisemaan kaikki merkkijonot IFS-erottimen avulla.

Parhaat pelikonsoliemulaattorit Linuxille
Tässä artikkelissa luetellaan suositut pelikonsolin emulointiohjelmistot, jotka ovat saatavana Linuxille. Emulointi on ohjelmistojen yhteensopivuusker...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Kuinka siepata ja suoratoistaa pelisessiosi Linuxissa
Aikaisemmin pelaamista pidettiin vain harrastuksena, mutta ajan myötä pelialalla tapahtui valtava kasvu tekniikan ja pelaajien määrän suhteen. Peliala...