BASH programiranje

Kako koristiti $ IFS u Bashu?

Kako koristiti $ IFS u Bashu?
U skriptiranju moramo razbiti niz podataka iz različitih razloga. Split je integrirana značajka u mnogim računalnim jezicima koja dijeli svaki niz podataka u različite dijelove. Međutim, bashu nedostaje ugrađena značajka za dijeljenje niza. Da bi se razbila bilo koja vrijednost niza, koristi se mnogo pojedinačnih i složenih graničnika. Varijabla IFS (Interni separator polja) koristi se za određivanje određenog graničnika za podjelu niza. U ovom vodiču naučit ćete kako koristiti razne metode za ilustraciju postupka razbijanja vrijednosti niza u bashu pomoću $ IFS-a.

Preduvjeti

Obavezno instalirajte i konfigurirajte sustav zasnovan na Linuxu. Radit ćemo na Ubuntu 20.04 Linux sustav. Prijavite se od korisnika vašeg Ubuntu računa da biste počeli raditi na IFS-u. Bit će bolje ako se prijavite sa svog korisničkog računa. Nakon prijave, pokrenite terminal naredbenog retka u vašem sustavu iz područja Aktivnost.

Primjer 01: IFS dijeli niz koristeći razmak kao vrijednost

Za naš prvi primjer razumjet ćemo koncept cijepanja niza u bashu dok koristimo razmak kao vrijednost graničnika pomoću IFS varijable. Prvo, moramo stvoriti bash datoteku u našem sustavu. U našem Linux sustavu možemo stvoriti nove datoteke pomoću naredbe 'dodir'. Kao što je prikazano u nastavku, stvorili smo bash datoteku 'file1.sh 'pomoću upute' dodir ':

$ dodirna datoteka1.sh

Otvorite početni direktorij vašeg Linux sustava pomoću ikone mape koja se prikazuje u lijevom kutu vašeg Ubuntu 20.04 radna površina. Pronaći ćete svoju novostvorenu bash datoteku „file1.sh ”u njemu. Otvorite datoteku “file1.sh ”i upišite donju skriptu. Prvo smo definirali niz pod nazivom "str" ​​s nekom vrijednošću niza. Zatim definiramo graničnu varijablu IFS kao varijablu koja ima vrijednost kao vrijednost. Nakon toga koristili smo naredbu read za spremanje i čitanje podijeljenih podataka u niz "strarr" koristeći zastavicu "-a". Izraz 'echo' koristi se za ispis retka niza zajedno s brojem ukupnih riječi niza pomoću "$ # strarr [*]". Petlja "for" koristi se za ispis vrijednosti niza u podijeljenom obliku pomoću varijable "var". Kosa kosa crta "\ n" korištena je unutar retka za ispis zajedno s varijablom "var" kako bi se podijelio prijelom jednog retka nakon svake vrijednosti niza. Spremite skriptu pomoću tipke "Ctrl + S" i zatvorite datoteku da biste nastavili dalje.

Vrati se na stranu terminala. Sada ćemo provjeriti izlaz gornjeg koda. Za to ćemo upotrijebiti naredbu 'bash' zajedno s nazivom datoteke "file1.sh ”da ga izvrši što je prikazano u nastavku. Prvo je prikazao redak spomenut u izjavi "echo" zajedno s brojem riječi niza. Nakon toga prikazao je sve vrijednosti niza koristeći petlju "for" podijeljenu IFS-om.

$ bash datoteka1.sh

Primjer 02: IFS razdvaja niz pomoću znaka kao vrijednosti

U gore spomenutom primjeru vidjeli ste kako podijeliti niz varijabli na dijelove dok koristite razmak kao graničnik IFS-a. Sada ćemo upotrijebiti znak za razdvajanje niza pomoću IFS graničnika. Otvorite svoj naredbeni terminal i stvorite novu bash datoteku “file2.sh ”u vašem kućnom direktoriju sustava Linux pomoću naredbe„ touch ”kako slijedi:

$ dodirna datoteka2.sh

Otvorite početni direktorij vašeg Linux sustava. U njemu ćete pronaći svoju novostvorenu datoteku. Otvorite svoju novostvorenu datoteku i napišite dolje predstavljeni bash kôd. U retku 3 pokrenuli smo naredbu "echo" za ispis retka. Sljedeći redak čita ulaz koji je dao korisnik u terminalu pomoću ključne riječi "read". Dalje, definirali smo graničnik "IFS" i postavili zarez "," kao vrijednost znaka. Navedena je još jedna naredba "čitanje" za čitanje i spremanje vrijednosti razdvojenih zarezom niza koji korisnik unosi u niz "strarr". Napokon smo pokrenuli tri izjave odjeka za ispis podijeljenih vrijednosti zarezom kao varijabli kao što je prikazano na slici. Spremite i zatvorite ovu datoteku.

Sada moramo izvršiti ovu spremljenu datoteku. Izvršite dolje prikazanu naredbu bash nakon koje slijedi ime datoteke u terminalu da biste to učinili. Morate dodati vrijednost niza koja mora sadržavati zarez “,” unutar vrijednosti i pritisnuti tipku Enter. Sada su vaši podaci spremljeni u niz "strarr". U posljednja tri retka prikazan je rezultat izjava "echo". Možete vidjeti, svaki se tekst prije i nakon zareza koristio kao zasebna vrijednost.

$ bash datoteka2.sh

Primjer 03: IFS podijeljeni niz

Oba prethodna primjera napravili smo u bash datoteci. Sada ćemo imati ilustraciju korištenja "IFS" bez stvaranja bash datoteke. Otvorite svoju naredbenu ljusku da biste to učinili. Prvo, moramo stvoriti niz "var" s vrijednošću niza u sebi. Ovaj niz sadrži zareze nakon svake riječi.

$ var = ”Bok, imam 25 godina i godina."

Dalje, inicijalizirajte varijablu 'IFS' znakovnom zarezom kao vrijednošću graničnika.

$ IFS =,

Nakon toga koristili smo petlju „for“ za pretragu svake riječi iz varijable „var“ odvojene IFS graničnikom i ispisali je pomoću izraza „echo“.

$ za i u $ var
> učini
> odjek [$ i]
> Gotovo

Imat ćete izlaz ispod. Pokazat će svaku riječ varijable niza "var" u novom retku zbog zareza "," koja se koristi kao podijeljeni znak.

Zaključak:

U ovom vodiču naučili ste razne metode za razdvajanje ulaznih vrijednosti u bash, npr.g., s prostorom ili s likom. Nadamo se da će vam ilustracije spomenute u ovom vodiču pomoći da razbijete svaki niz pomoću IFS graničnika.

Instalirajte najnoviju strategiju igre OpenRA na Ubuntu Linux
OpenRA je Libre / Free Real Time strateški pokretač igre koji stvara rane Westwoodove igre poput klasične Command & Conquer: Red Alert. Distribuirani ...
Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...
Kako koristiti GameConqueror Cheat Engine u Linuxu
Članak pokriva vodič o korištenju GameConqueror varalice u Linuxu. Mnogi korisnici koji igraju igre na sustavu Windows često koriste aplikaciju "Cheat...