Ahoj

Ako používať premennú v príkaze awk

Ako používať premennú v príkaze awk
Premenné sa používajú na dočasné uloženie akejkoľvek hodnoty v ľubovoľnom programovacom jazyku.  Definovanie premennej v príkaze awk je podobné skriptovaciemu jazyku bash a funguje ako bash, keď sa premenná shellu používa s jednoduchou a dvojitou úvodzovkou. Príkaz Awk má veľa vstavaných premenných na rôzne účely. Ako sa dajú v užívateľskom príkaze použiť zabudované premenné a premenné shellu v príkaze awk, ukazuje sa v tomto výučbe pomocou rôznych príkladov.

Example -1: Definovanie a tlač premennej

Príkaz „awk“ používa na definovanie premennej možnosť „-v“. V tomto príklade myvar premenná je definovaná v príkaze 'awk' na uloženie hodnoty, „Premenná AWK“ ktorý sa vytlačí neskôr. Spustením nasledujúceho príkazu z terminálu skontrolujte výstup.

$ echo | awk -v myvar = 'AWK premenná' 'print myvar'

Výkon:

Príklad - 2: Použitie premennej shellu v awk s jednoduchou a dvojitou úvodzovkou

Príklad ukazuje, ako sa dá premenná shellu použiť príkaz „awk“. Tu premenná shellu, myvar je deklarovaná s hodnotou, „Linux Hint“ v prvom príkaze. Symbol '$' sa používa s názvom premennej prostredia na čítanie hodnoty. Druhý príkaz načíta premennú, $ myval s jednoduchou úvodzovkou (') a tretí príkaz načíta premennú $ myvar s dvojitou úvodzovkou (“) vo výpise' awk '.

$ myvar = "Linuxový tip"
$ echo | awk -v awkvar = '$ myvar' 'tlačiť awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'tlačiť awkvar; '

Výkon:

Vo výstupe sa zobrazuje, že hodnotu $ myvar nie je možné prečítať, ak je uvedená v jednej úvodzovke (') a výstup je $ myvar. Hodnota $ myvar sa vytlačí, ak je pripojený k dvojitej ponuke („).

Príklad - 3: Čítanie premennej ARGC v awk

Premenná ARGC sa používa na spočítanie celkového počtu argumentov príkazového riadku. V nasledujúcom skripte awk sú odovzdané tri premenné argumentov príkazového riadku (t1, t2, t3). Tu je celkový počet argumentov so skriptom 4. Spustite skript z terminálu.

$ awk 'BEGIN print "Total argumenty =", ARGC' t1 t2 t3

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Príklad - 4: Čítanie obsahu súboru pomocou premenných argumentov

Vytvorte textový súbor s názvom zákazník.TXT s nasledujúcim obsahom na precvičenie tohto príkladu. Tu je každé pole súboru oddelené jedným znakom tab priestor.

zákazník.TXT

Identifikačné meno
103847 Ján Michal
209485 Watson
974732 Mira Hossain

Príkaz Awk dokáže prečítať každé pole z ľubovoľného textového súboru pomocou premenných argumentov. V aplikácii sú dve polia zákazník.TXT spis. Jedná sa o ID a meno. Nasledujúci skript vytlačí tieto dve polia pomocou premenných argumentov, 1 $ a 2 doláre oddelením dvoch tab medzery. Spustite skript z terminálu.

$ mačka zákazníka.TXT
$ mačka zákazníka.txt | awk 'print $ 1 "\ t \ t" $ 2;'

Výkon:

Po vykonaní vyššie uvedených príkazov sa objaví nasledujúci výstup.

Príklad - 5: Použitie vstavanej premennej, možnosti FS a oddeľovača polí s príkazom awk

Premenná FS sa v príkaze awk používa ako oddeľovač polí. Ako predvolená hodnota FS sa používa medzera. Nasledujúci príkaz načíta súbor zákazník.TXT pomocou medzery ako oddeľovača polí a vytlačiť obsah súboru. Spustite príkaz z terminálu.

$ awk FS zákazník.TXT

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Príkaz Awk môže používať iné znaky ako oddeľovač polí pomocou možnosti „-F“. Vytvorte textový súbor s názvom výrobok.TXT s nasledujúcim obsahom, kde sa ako oddeľovač polí používa znak „:“.

výrobok.TXT

101: Torta: 30 dolárov
102: Ceruzka: 5 dolárov
103: Mydlo: 3 doláre
104: Šampón: 10 dolárov

Súbor obsahuje tri polia, výrobok.TXT ktorý obsahuje ID produktu, názov a cenu. Nasledujúci príkaz awk vytlačí iba druhé pole každého riadku. Spustite príkazy z terminálu.

$ mačací produkt.TXT
$ awk -F ':' 'print $ 2' produkt.TXT

Výkon:

Tu prvý príkaz vytlačil obsah súboru výrobok.TXT a druhý príkaz vytlačil iba druhé pole súboru.

Príklad - 6: Použitie vstavanej premennej NR s príkazom awk

Premenná NR sa používa v príkaze awk na spočítanie celkového počtu záznamov alebo riadkov súboru. Vytvorte textový súbor s názvom študent.TXT na otestovanie funkcie tejto premennej.

študent.TXT

Názov Dávkový semester
Ján 20 3
Mira 22 1
Ella 18
Charle 15 8

Nasledujúci skript awk vytlačí prvé tri riadky súboru výrobok.TXT spis. Tu je podmienka pridaná pomocou premennej NR. Príkaz vytlačí tie riadky, ktorých hodnota NR je menšia ako 4. Spustite skript z terminálu.

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

$ študent mačiek.txt | awk 'NR < 4'

Príklad - 7: Používanie vstavanej premennej NF s príkazom awk

Premenná NF sa v príkaze awk používa na spočítanie celkového počtu polí v každom riadku súboru. Pre súbor je použitý nasledujúci awk skript, študent.TXT ktorý je vytvorený v predchádzajúcom príklade. Skript vytlačí tieto riadky z študent.TXT súbor, kde je celkový počet polí menej ako 3. Spustite príkaz z terminálu.

$ študent mačiek.txt | awk 'NF < 3'

Výkon:

V súbore existuje iba jeden riadok, v ktorom je ako výstup vytlačený celkový počet polí menej ako 3.

Príklad - 8: Použitie vstavanej premennej, OFS s príkazom awk

Premenná OFS sa používa v príkaze awk na pridanie oddeľovača výstupného poľa do výstupu. výrobok.TXT súbor sa v tomto príklade používa na zobrazenie použitia premennej OFS. „:“ sa v produkte používa ako oddeľovač polí.súbor txt. Nasledujúci skript awk používal ako hodnotu OFS „->“ a pridaním tohto oddeľovača sa vytlačí druhé a tretie pole súboru. Spustite príkazy z terminálu.

$ mačací produkt.TXT
$ awk -F ':' 'ZAČIATOK OFS = "->"; tlačiť $ 2, $ 3;' produkt.TXT

Výkon:

Po vykonaní príkazov sa vytlačí nasledujúci výstup.

Záver:

V tejto príručke sa pokúsime vysvetliť najbežnejšie použitie premenných awk. Dúfam, že čitateľ bude po nacvičení tohto tutoriálu schopný správne používať premenné awk v skripte.

Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...
Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...