Awk

Kā izmantot mainīgo komandā awk

Kā izmantot mainīgo komandā awk
Mainīgos lielumus izmanto, lai saglabātu jebkuru pagaidu vērtību jebkurā programmēšanas valodā.  Mainīgā definēšana komandā awk ir līdzīga bash skriptu valodai, un tā darbojas tāpat kā bash, ja čaulas mainīgo izmanto ar vienu citātu un divkāršu citātu. Awk komandai ir daudz iebūvētu mainīgo dažādiem mērķiem. Kā lietotāja definētos, iebūvētos un čaulas mainīgos var izmantot komandā awk, šajā apmācībā ir parādīts, izmantojot dažādus piemērus.

Example -1: Mainīgā definēšana un drukāšana

'awk' mainīgā definēšanai izmanto opciju '-v'. Šajā piemērā myvars mainīgais ir definēts komandā 'awk', lai saglabātu vērtību, “AWK mainīgais” kas tiek izdrukāts vēlāk. Palaidiet šādu komandu no termināļa, lai pārbaudītu izvadi.

$ atbalss | awk -v myvar = 'AWK mainīgais' 'print myvar'

Izeja:

2. piemērs: apvalka mainīgā izmantošana awk ar vienu un divkāršu pēdiņu

Piemērs parāda, kā čaulas mainīgo var izmantot komandu 'awk'. Lūk, čaulas mainīgais, myvars tiek deklarēta ar vērtību, “Linux padoms” pirmajā komandā. Simbols '$' tiek izmantots kopā ar čaulas mainīgā nosaukumu, lai nolasītu vērtību. Otra komanda nolasa mainīgo, $ myval ar vienu pēdiņu (') un trešajā komandā teikumā' awk 'tiek lasīts mainīgais $ myvar ar dubultu pēdiņu (“).

$ myvar = "Linux padoms"
$ atbalss | awk -v awkvar = '$ myvar' 'drukāt awkvar;
$ atbalss | awk -v awkvar = "$ myvar" 'drukāt awkvar;

Izeja:

Izvade parāda, ka $ myvar vērtību nevar nolasīt, ja tā ir pievienota ar vienu pēdiņu (') un izeja ir $ myvar. Vērtība $ myvar tiek drukāts, kad tas ir pievienots ar divkāršu pēdiņu (“).

3. piemērs: ARGC mainīgā lasīšana awk

ARGC mainīgo izmanto, lai saskaitītu komandrindas argumentu kopējo skaitu. Trīs komandrindas argumentu mainīgie (t1, t2, t3) tiek nodoti šajā awk skriptā. Šeit kopējais argumentu skaits ar skriptu ir 4. Palaidiet skriptu no termināla.

$ awk 'BEGIN print "Kopā argumenti =", ARGC' t1 t2 t3

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja.

4. piemērs: faila satura lasīšana pēc argumentu mainīgajiem

Izveidojiet teksta failu ar nosaukumu klientu.txt ar šādu saturu, lai praktizētu šo piemēru. Šeit katrs faila lauks tiek atdalīts ar vienu cilni telpa.

klientu.txt

ID nosaukums
103847 Jānis Mišels
209485 Vatsons
974732 Mira Hossaina

Awk komanda var nolasīt katru lauku no jebkura teksta faila pēc argumentu mainīgajiem. Vietnē ir divi lauki klientu.txt failu. Tie ir ID un vārds. Šis skripts izdrukās šos divus laukus pēc argumentu mainīgajiem, 1 USD un 2 USD atdalot divus cilni atstarpes. Palaidiet skriptu no termināla.

$ kaķu klients.txt
$ kaķu klients.txt | awk 'print $ 1 "\ t \ t" $ 2;'

Izeja:

Pēc iepriekš minēto komandu izpildīšanas parādīsies šāda izeja.

5. piemērs: izmantojot iebūvēto mainīgo, FS un lauka atdalītāja opciju ar komandu awk

FS mainīgais tiek izmantots komandā awk kā lauka atdalītājs. Vieta tiek izmantota kā FS noklusējuma vērtība. Šī komanda nolasīs failu klientu.txt izmantojot atstarpi kā lauka atdalītāju un izdrukājiet faila saturu. Palaidiet komandu no termināla.

$ awk FS klients.txt

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja.

Awk komanda var izmantot citas rakstzīmes kā lauka atdalītāju, izmantojot opciju '-F'. Izveidojiet teksta failu ar nosaukumu produktu.txt ar šādu saturu, kur “:” tiek izmantots kā lauku atdalītājs.

produktu.txt

101: kūka: 30 ASV dolāri
102: Zīmulis: 5 ASV dolāri
103: ziepes: 3 ASV dolāri
104: Šampūns: 10 ASV dolāri

Failā ir trīs lauki, produktu.txt kas satur produkta ID, nosaukumu un cenu. Ar šādu awk komandu tiks izdrukāts tikai katras rindas otrais lauks. Palaidiet komandas no termināla.

$ kaķu produkts.txt
$ awk -F ':' 'print $ 2' produkts.txt

Izeja:

Šeit pirmā komanda izdrukāja produktu.txt un otrā komanda izdrukāja tikai faila otro lauku.

6. piemērs: izmantojot iebūvēto mainīgo, NR ar komandu awk

NR mainīgais tiek izmantots komandā awk, lai saskaitītu faila ierakstu vai rindu kopējo skaitu. Izveidojiet teksta failu ar nosaukumu students.txt lai pārbaudītu šī mainīgā funkciju.

students.txt

Nosaukums partijas semestris
Jāņa 20. nodaļa 3
Mira 22 1
Ella 18
Charle 15 8

Šis awk skripts izdrukās pirmās trīs rindas produktu.txt failu. Šeit tiek pievienots nosacījums, izmantojot mainīgo NR. Komanda izdrukās tās rindas, kur NR vērtība ir mazāka par 4. Palaidiet skriptu no termināla.

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja.

$ kaķu students.txt | awk 'NR < 4'

7. piemērs: izmantojot iebūvēto mainīgo, NF ar komandu awk

NF mainīgais tiek izmantots komandā awk, lai saskaitītu kopējo lauku skaitu katrā faila rindā. Failam tiek izmantots šāds awk skripts, students.txt kas ir izveidots iepriekšējā piemērā. Skripts izdrukās šīs rindiņas no students.txt fails, kurā kopējais lauku skaits ir mazāks par 3. Palaidiet komandu no termināla.

$ kaķu students.txt | awk 'NF < 3'

Izeja:

Failā ir tikai viena rindiņa, kur kopējais lauku skaits ir mazāks par 3 un tiek izdrukāts kā izvade.

8. piemērs: izmantojot iebūvētu mainīgo, OFS ar komandu awk

OFS mainīgo izmanto komandā awk, lai izvadā pievienotu izvades lauka atdalītāju. produktu.txt fails tiek izmantots šajā piemērā, lai parādītu OFS mainīgā izmantošanu. ':' tiek izmantots kā lauka atdalītājs produktā.txt fails. Šis awk skripts kā OFS vērtību izmantoja '->', un faila otrais un trešais lauks tiks drukāts, pievienojot šo atdalītāju. Palaidiet komandas no termināla.

$ kaķu produkts.txt
$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' produkts.txt

Izeja:

Pēc komandu izpildīšanas tiks izdrukāta šāda izeja.

Secinājums:

Šajā apmācībā ir mēģināts izskaidrot visbiežāk lietotos awk mainīgo lielumus. Ceru, ka pēc šīs apmācības praktizēšanas lasītājs skriptā varēs pareizi izmantot awk mainīgos.

HD Remastered spēles operētājsistēmai Linux, kurām nekad agrāk nebija Linux laidiena
Daudzi spēļu izstrādātāji un izdevēji nāk klajā ar veco spēļu HD remaster, lai pagarinātu franšīzes darbības laiku. Lūdzu, faniem, kas pieprasa saderī...
Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...
Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...