BASH programiranje

Kako uporabiti $ IFS v Bashu?

Kako uporabiti $ IFS v Bashu?
Pri skriptiranju moramo podatke iz nizov ločiti iz različnih razlogov. Split je integrirana funkcija v mnogih računalniških jezikih, ki deli vsak niz podatkov na različne koščke. Vendar bash nima vgrajene funkcije za razdelitev niza. Za prekinitev katere koli vrednosti niza je treba uporabiti veliko enojnih in sestavljenih ločil. Spremenljivka IFS (Internal Field Separator) se uporablja za določitev določenega ločila za delitev nizov. V tem priročniku boste izvedeli, kako z različnimi metodami ponazoriti postopek lomljenja vrednosti niza v bash z uporabo $ IFS.

Pogoji

Prepričajte se, da imate nameščen in konfiguriran sistem, ki temelji na Linuxu. Delali bomo na Ubuntu 20.04 Linux sistem. Prijavite se od uporabnika računa Ubuntu, da začnete delati na sistemu IFS. Bolje bo, če se prijavite iz svojega korenskega uporabniškega računa. Po prijavi v sistemu zaženite terminal ukazne vrstice v sistemu.

Primer 01: IFS razdeli niz z uporabo presledka kot vrednosti

Za naš prvi primer bomo razumeli koncept delitve niza v bash, medtem ko uporabljamo presledek kot ločilo z uporabo spremenljivke IFS. Najprej moramo v našem sistemu ustvariti datoteko bash. V našem sistemu Linux lahko ustvarimo nove datoteke z ukazom 'touch'. Kot je prikazano spodaj, ustvarili smo datoteko bash 'file1.sh 'z navodilom za dotik:

$ touch datoteka1.sh

Odprite domači imenik sistema Linux z ikono mape, ki je prikazana v levem kotu Ubuntuja 20.04 namizje. Našli boste novo ustvarjeno bash datoteko “file1.sh ”v njem. Odprite datoteko “file1.sh "in vnesite spodnji skript. Najprej smo definirali niz z imenom "str" ​​z nekaj vrednostjo niza. Nato definiramo ločilno spremenljivko IFS kot spremenljivko, katere vrednost je presledek. Po tem smo z izjavo za branje shranili in prebrali deljene podatke v matriko "strarr" z uporabo zastavice "-a". Stavek 'echo' se uporablja za tiskanje vrstice niza skupaj s številom celotnih besed matrike z uporabo "$ # strarr [*]". Zanka »for« se uporablja za tiskanje vrednosti matrike v deljeni obliki z uporabo spremenljivke »var«. Poševnica nazaj \ \ n je bila uporabljena znotraj vrstice za tiskanje skupaj s spremenljivko "var", da je bil razdeljen prelom ene vrstice po vsaki vrednosti polja. Shranite skript s tipko “Ctrl + S” in zaprite datoteko, da nadaljujete.

Vrnite se na stran terminala. Zdaj bomo preverili izhod zgornje kode. Za to bomo uporabili ukaz 'bash' skupaj z imenom datoteke 'file1.sh "za izvedbo, kar je prikazano spodaj. Najprej je prikazala vrstico, omenjeno v stavku "echo", skupaj s številom besed polja. Po tem je prikazal vse vrednosti polja z uporabo zanke "for", ki jo je razdelil IFS.

$ bash datoteka1.sh

Primer 02: IFS razdeli niz z uporabo znaka kot vrednosti

V zgoraj omenjenem primeru ste videli, kako spremenljivke niza razdeliti na dele, medtem ko uporabljate presledek kot ločilo IFS. Zdaj bomo z znakom delili niz z ločevalnikom IFS. Odprite ukazni terminal in ustvarite novo datoteko bash “file2.sh ”v vašem domačem imeniku sistema Linux z uporabo ukaza“ touch ”, kot sledi:

$ touch file2.sh

Odprite domači imenik sistema Linux. V njem boste našli novo ustvarjeno datoteko. Odprite novo ustvarjeno datoteko in napišite spodaj predstavljeno bash kodo. V vrstici 3 smo sprožili stavek »echo« za tiskanje vrstice. V naslednji vrstici se prebere vnos, ki ga je uporabnik dal v terminalu z uporabo ključne besede "read". Nato smo definirali ločilo »IFS« in kot vrednost znaka nastavili vejico »,«. Določen je še en stavek »branje«, ki bere in shranjuje vrednosti, razdeljene z vejicami, niza, ki ga uporabnik vnese v polje »strarr«. Končno smo sprožili tri stavke za odmev, da vrednosti ločenih z vejico natisnemo kot spremenljivke, kot je prikazano na sliki. Shranite in zaprite to datoteko.

Zdaj moramo zagnati to shranjeno datoteko. Izvedite spodnji prikaz ukaza bash, ki mu sledi ime datoteke v terminalu, da to storite. V vrednosti morate dodati nekaj nizov, ki morajo vsebovati vejico “,” in pritisniti gumb Enter. Zdaj so bili vaši podatki shranjeni v polje "strarr". Zadnje tri vrstice prikazujejo rezultate stavkov "echo". Vidite, vsako besedilo pred in po vejici je bilo uporabljeno kot ločena vrednost.

$ bash datoteka2.sh

Primer 03: IFS Split String

Oba prejšnja primera smo naredili v datoteki bash. Zdaj bomo imeli ponazoritev uporabe »IFS« brez ustvarjanja datoteke bash. Za to odprite ukazno lupino. Najprej moramo ustvariti niz »var« z vrednostjo niza. Ta niz vsebuje vejice za vsako besedo.

$ var = ”Živijo, stara sem 25 let."

Nato spremenljivko »IFS« inicializirajte z vejico znakov kot ločilno vrednostjo.

$ IFS =,

Po tem smo z zanko "for" iskali vsako besedo iz spremenljivke "var", ločene z vejico IFS, in jo natisnili z uporabo stavka "echo".

$ za i v $ var
> naredi
> odmev [$ i]
> Končano

Izpis boste imeli spodaj. Vsaka beseda nizovne spremenljivke "var" bo prikazana v novi vrstici zaradi vejice ",", ki se uporablja kot ločen znak.

Zaključek:

V tem priročniku ste se naučili različnih metod za razdelitev vhodnih vrednosti v bash, npr.g., s prostorom ali z likom. Upamo, da vam bodo ilustracije, omenjene v tem priročniku, pomagale razbiti vsak niz z ločevalnikom IFS.

S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...
Nadzirajte in upravljajte gibanje miške med več monitorji v sistemu Windows 10
Upravitelj miške z dvojnim zaslonom vam omogoča nadzor in konfiguriranje gibanja miške med več monitorji, tako da upočasni gibanje blizu meje. Windows...
WinMouse vam omogoča prilagajanje in izboljšanje premikanja kazalca miške v računalniku z operacijskim sistemom Windows
Če želite izboljšati privzete funkcije kazalca miške, uporabite brezplačno programsko opremo WinMouse. Dodaja več funkcij, s pomočjo katerih boste kar...