BASH programmēšana

Kā izmantot $ IFS Bash?

Kā izmantot $ IFS Bash?
Skriptu izveidē mums ir jāsadala virkņu dati dažādu iemeslu dēļ. Sadalīšana ir integrēta funkcija daudzās datoru valodās, kas katru datu virkni sadala dažādos gabalos. Tomēr basam trūkst iebūvētas funkcijas virknes sadalīšanai. Lai pārtrauktu jebkuru virknes vērtību, ir jāizmanto daudz atsevišķu un saliktu atdalītāju. Mainīgais IFS (Internal Field Separator) tiek izmantots, lai norādītu konkrētu atdalītāju virkņu sadalīšanai. Šajā ceļvedī jūs uzzināsiet, kā izmantot dažādas metodes, lai ilustrētu virknes vērtības sadalīšanas procesu bash, izmantojot $ IFS.

Priekšnoteikumi

Pārliecinieties, vai esat instalējis un konfigurējis sistēmu, kuras pamatā ir Linux. Mēs strādāsim pie Ubuntu 20.04 Linux sistēma. Piesakieties no sava Ubuntu konta lietotāja, lai sāktu strādāt ar IFS. Būs labāk, ja piesakāties no sava root lietotāja konta. Pēc pieteikšanās palaidiet komandrindas termināli savā sistēmā no apgabala Aktivitātes.

01. piemērs: IFS sadaliet virkni, izmantojot vērtību kā atstarpi

Pirmajā piemērā mēs sapratīsim virknes sadalīšanas principu basā, vienlaikus izmantojot atstarpes atstarpi, izmantojot IFS mainīgo. Pirmkārt, mums ir jāizveido bash fails mūsu sistēmā. Mēs varam izveidot jaunus failus savā Linux sistēmā, izmantojot komandu “touch”. Kā parādīts zemāk, mēs esam izveidojuši bash failu 'file1.sh ', izmantojot pieskāriena instrukciju:

$ touch fails1.sh

Atveriet savas Linux sistēmas mājas direktoriju, izmantojot mapes ikonu, kas redzama jūsu Ubuntu 20 kreisajā stūrī.04 darbvirsma. Jūs atradīsit savu jaunizveidoto bash failu “file1.sh ”tajā. Atveriet failu “file1.sh ”un ierakstiet zemāk esošo skriptu. Pirmkārt, mēs esam definējuši virkni ar nosaukumu “str”, kurā ir noteikta virknes vērtība. Pēc tam mēs definējam norobežojošo mainīgo IFS kā mainīgo, kura vērtība ir atstarpe. Pēc tam mēs izmantojām izlasīto priekšrakstu, lai saglabātu un sadalītos datus nolasītu masīvā “strarr”, izmantojot karodziņu “-a”. 'Echo' priekšrakstu izmanto, lai drukātu virknes rindu kopā ar masīva kopējo vārdu skaitu, izmantojot “$ # strarr [*]”. Cilpu “par” izmanto masīva vērtību drukāšanai sadalītā veidā, izmantojot mainīgo “var”. Atpakaļsvītras zīme “\ n” tika izmantota drukas rindā kopā ar mainīgo “var”, lai pēc katras masīva vērtības piešķirtu vienas rindiņas sadalījumu. Saglabājiet skriptu, izmantojot taustiņu “Ctrl + S”, un aizveriet failu, lai turpinātu.

Atgriezieties termināļa pusē. Tagad mēs pārbaudīsim iepriekš minētā koda izvadi. Šim nolūkam mēs izmantosim komandu “bash” kopā ar faila nosaukumu “file1”.sh ”, lai to izpildītu, kas parādīts zemāk. Pirmkārt, tajā tika parādīta rinda, kas minēta paziņojumā “atbalss”, kā arī masīva vārdu skaits. Pēc tam tas parādīja visas masīva vērtības, izmantojot IFS sadalīto cilni “par”.

$ bash fails.sh

02. piemērs: IFS sadaliet virkni, par vērtību izmantojot rakstzīmi

Iepriekš minētajā piemērā jūs redzējāt, kā sadalīt virknes mainīgos daļās, vienlaikus izmantojot telpu kā IFS atdalītāju. Tagad mēs izmantosim rakstzīmi, lai sadalītu virkni, izmantojot IFS atdalītāju. Atveriet komandu termināli un izveidojiet jaunu bash failu “file2.sh ”Linux sistēmas mājas direktorijā, izmantojot komandu“ touch ”šādi:

$ touch fails2.sh

Atveriet savas Linux sistēmas mājas direktoriju. Tajā atradīsit savu jaunizveidoto failu. Atveriet jaunizveidoto failu un uzrakstiet zemāk sniegto bash kodu. 3. rindā mēs esam ierosinājuši “atbalss” paziņojumu, lai izdrukātu līniju. Nākamajā rindā tiek nolasīta lietotāja ievadītā informācija terminālā, izmantojot atslēgvārdu “lasīt”. Pēc tam mēs definējām atdalītāju “IFS” un kā tā rakstzīmju vērtību iestatījām komatu “,”. Lai lasītu un saglabātu komatu sadalījuma vērtības virknei, kuru lietotājs ievada masīvā “strarr”, ir norādīts cits “lasīt”. Visbeidzot, mēs esam ierosinājuši trīs atbalss paziņojumus, lai ar komatiem atdalītās sadalītās vērtības izdrukātu kā mainīgos, kā parādīts attēlā. Saglabājiet un aizveriet šo failu.

Tagad mums ir jāizpilda šis saglabātais fails. Lai to izdarītu, izpildiet zemāk parādīto komandu bash, kam seko faila nosaukums terminālā. Vērtībās jāpievieno virknes vērtība, kurai jāietver komats “,”, un jānospiež poga Enter. Tagad jūsu dati ir saglabāti masīvā “strarr”. Pēdējās trīs rindas parāda “atbalss” paziņojumu iznākumu. Var redzēt, ka katrs teksts pirms un pēc komata ir izmantots kā atsevišķa vērtība.

$ bash fails2.sh

03. piemērs: IFS sadalītā virkne

Mēs esam izdarījuši abus iepriekšējos piemērus bash failā. Tagad mums būs ilustrācija par IFS izmantošanu, neizveidojot bash failu. Lai to izdarītu, atveriet komandas apvalku. Pirmkārt, mums jāizveido virkne “var” ar virknes vērtību. Šajā virknē aiz katra vārda ir komati.

$ var = ”Sveiki, es esmu 25 gadus vecs.”

Pēc tam inicializējiet mainīgo 'IFS' ar atdalītāja vērtību rakstzīmi komatu.

$ IFS =,

Pēc tam mēs izmantojām cilni “par”, lai meklētu katru vārdu no mainīgā “var”, atdalot ar IFS atdalītāja komatu, un izdrukātu to, izmantojot “echo” priekšrakstu.

$ par i $ var
> darīt
> atbalss [$ i]
> Gatavs

Jums būs izeja zemāk. Tas parādīs katru virknes mainīgā “var” vārdu jaunā rindā, jo atdalītāja komats “,” tiek izmantots kā sadalīts raksturs.

Secinājums:

Šajā rokasgrāmatā jūs esat iemācījies dažādas metodes, kā sadalīt ievades vērtības bash, piemēram,.g., ar atstarpi vai ar rakstzīmi. Mēs ceram, ka šajā apmācības rokasgrāmatā minētās ilustrācijas palīdzēs jums pārtraukt katru virkni, izmantojot IFS atdalītāju.

WinMouse ļauj jums pielāgot un uzlabot peles rādītāja kustību Windows datorā
Ja vēlaties uzlabot peles rādītāja noklusējuma funkcijas, izmantojiet bezmaksas programmatūru WinMouse. Tas pievieno vairāk funkciju, kas palīdzēs jum...
Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...
Rakstot Windows 10, kursors lec vai pārvietojas nejauši
Ja atklājat, ka peles kursors automātiski, nejauši lec vai pārvietojas pats, rakstot Windows klēpjdatorā vai datorā, daži no šiem ieteikumiem var palī...