Būtinos sąlygos
Įsitikinkite, kad turite įdiegtą ir sukonfigūruotą „Linux“ sistemą. Dirbsime su „Ubuntu 20“.04 „Linux“ sistema. Prisijunkite iš savo „Ubuntu“ paskyros vartotojo, kad galėtumėte dirbti su IFS. Bus geriau, jei prisijungsite iš savo šakninio vartotojo abonemento. Prisijungę paleiskite komandų eilutės terminalą savo sistemoje iš veiklos srities.
01 pavyzdys: IFS padalykite eilutę naudodami tarpą kaip vertę
Pirmame pavyzdyje mes suprasime eilutės padalijimo į bash koncepciją, naudodami tarpą kaip skiriamąją vertę naudodami IFS kintamąjį. Pirma, turime sukurti bash failą savo sistemoje. Naudodami „touch“ komandą, galime sukurti naujus failus savo „Linux“ sistemoje. Kaip parodyta žemiau, mes sukūrėme bash failą 'file1.sh ', naudodamas „touch“ instrukciją:
$ touch failas1.sh
Atidarykite „Linux“ sistemos namų katalogą naudodami aplanko piktogramą, rodomą kairiajame „Ubuntu 20“ kampe.04 darbalaukis. Rasite naujai sukurtą „bash“ failą „file1.sh “jame. Atidarykite failą „file1.sh “ir įveskite žemiau esantį scenarijų. Pirma, mes apibrėžėme eilutę pavadinimu „str“, kurioje yra tam tikra eilutės vertė. Tada mes apibrėžiame ribotuvo kintamąjį IFS kaip kintamąjį, kurio vertė yra tarpas. Po to mes naudojome skaitytą sakinį, kad išsaugotume ir perskaitytume duomenis į masyvą „strarr“, naudodami „-a“ vėliavą. „Echo“ sakinys naudojamas eilutės eilutei atspausdinti kartu su masyvo žodžių skaičiumi naudojant „$ # strarr [*]“. Kilpa „už“ naudojama masyvo reikšmėms išspausdinti padalijant formą, naudojant kintamąjį „var“. Galinis pasvirasis brūkšnys „\ n“ buvo naudojamas spausdinimo eilutėje kartu su kintamuoju „var“, kad po kiekvienos masyvo reikšmės būtų padalytas vienos eilutės pertrauka. Išsaugokite scenarijų naudodami „Ctrl + S“ klavišą ir uždarykite failą, kad tęstumėte toliau.
Grįžk į terminalo pusę. Dabar mes patikrinsime aukščiau nurodyto kodo išvestį. Tam naudosime komandą „bash“ kartu su failo pavadinimu „file1“.sh “, kad įvykdytumėte tai, kas parodyta žemiau. Pirma, jame buvo rodoma „aido“ sakinyje minima eilutė kartu su masyvo žodžių skaičiumi. Po to jis rodė visas masyvo reikšmes, naudodamas IFS padalytą kilpą „už“.
$ bash failas1.sh
02 pavyzdys: IFS padalykite eilutę naudodami simbolį kaip vertę
Minėtame pavyzdyje matėte, kaip eilutės kintamuosius padalinti į dalis, naudojant tarpą kaip IFS skiriklį. Dabar, naudodami simbolį, norėdami padalyti eilutę naudodami IFS skiriamąjį elementą. Atidarykite komandų terminalą ir sukurkite naują „bash“ failą „file2.sh “savo„ Linux “sistemos kataloge naudodami komandą„ touch “taip:
$ touch failas2.sh
Atidarykite savo „Linux“ sistemos namų katalogą. Jame rasite savo naujai sukurtą failą. Atidarykite naujai sukurtą failą ir parašykite žemiau pateiktą „bash“ kodą. 3 eilutėje mes inicijavome „aido“ sakinį, kad atspausdintume liniją. Kitoje eilutėje nuskaitomas vartotojo įvestas terminalas naudojant raktinį žodį „skaityti“. Tada mes apibrėžėme „IFS“ ribotuvą ir nustatėme kablelį „,“ kaip jo simbolio vertę. Nurodytas kitas „skaityti“ sakinys, skirtas skaityti ir išsaugoti kablelio padalijimo eilutės reikšmes, kurias vartotojas įveda į masyvą „strarr“. Pagaliau mes inicijavome tris aido teiginius, kad atspausdintume kableliais atskirtas padalijimo reikšmes kaip kintamuosius, kaip parodyta paveikslėlyje. Išsaugokite ir uždarykite šį failą.
Dabar turime vykdyti šį išsaugotą failą. Norėdami tai padaryti, vykdykite žemiau pateiktą komandą „bash“, po kurios nurodomas failo pavadinimas terminale. Turite pridėti keletą eilutės reikšmių, kuriose reikšmėse turi būti kablelis „,“, ir paspausti mygtuką Enter. Dabar jūsų duomenys buvo išsaugoti „strarr“ masyve. Paskutinės trys eilutės rodo „aido“ teiginių išvestį. Matote, kad kiekvienas tekstas prieš ir po kablelio buvo naudojamas kaip atskira reikšmė.
$ bash failas2.sh
03 pavyzdys: IFS padalijimo eilutė
Mes atlikome abu ankstesnius pavyzdžius „bash“ faile. Dabar turėsime iliustraciją, kaip naudoti „IFS“ nekuriant „bash“ failo. Norėdami tai padaryti, atidarykite komandos apvalkalą. Pirmiausia turime sukurti eilutę „var“, kurioje būtų eilutės vertė. Šioje eilutėje po kiekvieno žodžio yra kableliai.
$ var = ”Sveiki, aš, esu, 25, metų.“Tada inicijuokite „IFS“ kintamąjį, nurodydami kablelį kaip skiriamąją vertę.
$ IFS =,Po to mes naudojome kilpą „už“, kad ieškotume kiekvieno žodžio iš kintamojo „var“, atskirto IFS kableliu, ir atspausdintume jį naudodami „echo“ sakinį.
$ už i i $ var> daryti
> aidas [$ i]
> Atlikta
Išvestį turėsite žemiau. Jis parodys kiekvieną eilutės kintamojo „var“ žodį naujoje eilutėje, nes skiriamasis kablelis „,“ naudojamas kaip padalytas simbolis.
Išvada:
Šiame vadove išmokote įvairių metodų, kaip padalinti įvesties reikšmes bash, t.g., su erdve ar su personažu. Tikimės, kad šiame vadovėlyje minimos iliustracijos padės sulaužyti kiekvieną eilutę naudojant IFS skiriklį.