Awk

Cum se utilizează variabila în comanda awk

Cum se utilizează variabila în comanda awk
Variabilele sunt utilizate pentru a stoca orice valoare temporară în orice limbaj de programare.  Definirea variabilei în comanda awk este similară cu limbajul de scriptare bash și funcționează ca bash atunci când variabila shell este utilizată cu un ghilimel simplu și un ghilimel dublu. Comanda Awk are multe variabile încorporate în diverse scopuri. Modul în care variabilele definite de utilizator, încorporate și shell pot fi utilizate în comanda awk este prezentat în acest tutorial utilizând exemple diferite.

Example -1: Definirea și tipărirea variabilei

Comanda 'awk' folosește opțiunea '-v' pentru a defini variabila. În acest exemplu, myvar variabila este definită în comanda „awk” pentru a stoca valoarea, „Variabilă AWK” care este tipărit mai târziu. Rulați următoarea comandă de la terminal pentru a verifica ieșirea.

$ echo | awk -v myvar = 'Variabilă AWK' 'print myvar'

Ieșire:

Exemplu - 2: Utilizarea variabilei shell în awk cu un ghilimel simplu și un ghilimel dublu

Exemplul arată cum variabila shell poate fi utilizată comanda „awk”. Aici, o variabilă shell, myvar este declarat cu valoarea, „Linux Hint” în prima comandă. Simbolul „$” este utilizat cu un nume de variabilă shell pentru a citi valoarea. A doua comandă citește variabila, $ myval cu un singur ghilimel (') și a treia comandă citește variabila $ myvar cu ghilimele duble („) în declarația„ awk ”.

$ myvar = "Sugestie Linux"
$ echo | awk -v awkvar = '$ myvar' 'print awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'print awkvar; '

Ieșire:

Se arată în ieșire că valoarea lui $ myvar nu poate fi citită atunci când este inclusă cu un singur ghilimel (') și ieșirea este $ myvar. Valoarea a $ myvar este tipărit când este atașat cu ghilimele duble („).

Exemplu - 3: Citirea variabilei ARGC în awk

Variabila ARGC este utilizată pentru a număra numărul total de argumente din linia de comandă. Trei variabile ale argumentelor din linia de comandă (t1, t2, t3) sunt transmise în următorul script awk. Aici, numărul total de argumente cu scriptul este 4. Rulați scriptul de la terminal.

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

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Exemplu - 4: Citirea conținutului fișierului prin variabile de argument

Creați un fișier text numit client.txt cu următorul conținut pentru a practica acest exemplu. Aici, fiecare câmp al fișierului este separat de câte un singur filă spaţiu.

client.txt

Nume ID
103847 John Micheal
209485 Watson
974732 Mira Hossain

Comanda Awk poate citi fiecare câmp din orice fișier text prin variabile de argument. Există două câmpuri în client.txt fişier. Acestea sunt ID-ul și numele. Următorul script va imprima aceste două câmpuri după variabile de argument, 1 $ și 2 USD prin separarea a două filă spații. Rulați scriptul de la terminal.

client $ cat.txt
client $ cat.txt | awk 'print $ 1 "\ t \ t" $ 2;'

Ieșire:

Următoarea ieșire va apărea după executarea comenzilor de mai sus.

Exemplu- 5: Utilizarea variabilei încorporate, opțiunea FS și separatorul de câmp cu comanda awk

Variabila FS este utilizată în comanda awk ca separator de câmp. Spațiul este utilizat ca valoare implicită a FS. Următoarea comandă va citi fișierul client.txt folosind spațiul ca separator de câmp și tipăriți conținutul fișierului. Rulați comanda de la terminal.

$ awk client FS.txt

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Comanda Awk poate utiliza alte caractere ca separator de câmp utilizând opțiunea „-F”. Creați un fișier text numit produs.txt cu următorul conținut unde „:” este folosit ca separator de câmp.

produs.txt

101: Tort: 30 USD
102: Creion: 5 USD
103: Săpun: 3 USD
104: Șampon: 10 USD

Există trei câmpuri în fișier, produs.txt care conține codul produsului, numele și prețul. Următoarea comandă awk va imprima doar al doilea câmp al fiecărei linii. Rulați comenzile de la terminal.

$ cat produs.txt
$ awk -F ':' 'print $ 2' produs.txt

Ieșire:

Aici, prima comandă a tipărit conținutul produs.txt iar a doua comandă a imprimat doar al doilea câmp al fișierului.

Exemplu - 6: Folosind variabila încorporată, NR cu comanda awk

Variabila NR este utilizată în comanda awk pentru a număra numărul total de înregistrări sau linii ale unui fișier. Creați un fișier text numit student.txt pentru a testa funcția acestei variabile.

student.txt

Nume Semestru lot
Ioan 20 3
Mira 22 1
Ella 18
Charle 15 8

Următorul script awk va imprima primele trei rânduri de produs.txt fişier. Aici, se adaugă o condiție utilizând variabila NR. Comanda va imprima acele linii în care valoarea NR este mai mică de 4. Rulați scriptul de la terminal.

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

$ cat student.txt | awk 'NR < 4'

Exemplu - 7: Folosind variabila încorporată, NF cu comanda awk

Variabila NF este utilizată în comanda awk pentru a număra numărul total de câmpuri din fiecare linie a unui fișier. Următorul script awk este aplicat pentru fișier, student.txt care este creat în exemplul anterior. Scriptul va imprima acele linii din student.txt în care câmpurile totale sunt mai mici de 3. Rulați comanda de la terminal.

$ cat student.txt | awk 'NF < 3'

Ieșire:

Există doar o singură linie în fișier, unde numărul total de câmpuri este mai mic de 3, care este tipărit ca ieșire.

Exemplu - 8: Folosind variabila încorporată, OFS cu comandă awk

Variabila OFS este utilizată în comanda awk pentru a adăuga separator de câmp de ieșire în ieșire. produs.txt fișierul este utilizat în acest exemplu pentru a arăta utilizarea variabilei OFS. „:” este utilizat ca separator de câmp în produs.fișier txt. Următorul script awk a folosit „->” ca valoare OFS și, al doilea și al treilea câmp al fișierului se vor imprima adăugând acest separator. Rulați comenzile de la terminal.

$ cat produs.txt
$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' produs.txt

Ieșire:

Următoarea ieșire se va imprima după executarea comenzilor.

Concluzie:

Cele mai frecvente utilizări ale variabilelor awk sunt încercate să explice în acest tutorial. Sper că cititorul va putea utiliza variabilele awk în mod corespunzător în script după ce va practica acest tutorial.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...