Cum să scrieți scripturi folosind limbajul de programare Awk - Partea 13


De la începutul seriei Awk până la Partea 12, am scris mici comenzi și programe Awk pe linia de comandă și, respectiv, în scripturi shell.

Cu toate acestea, Awk, la fel ca și Shell, este, de asemenea, un limbaj interpretat, prin urmare, cu tot ce am parcurs de la începutul acestei serii, acum puteți scrie scripturi executabile Awk.

Similar cu modul în care scriem un script shell, scripturile Awk încep cu linia:

#! /path/to/awk/utility -f 

De exemplu, pe sistemul meu, utilitarul Awk se află în /usr/bin/awk, prin urmare, aș porni un script Awk după cum urmează:

#! /usr/bin/awk -f 

Explicând rândul de mai sus:

  1. #! – denumit Shebang, care specifică un interpret pentru instrucțiunile dintr-un script
  2. /usr/bin/awk – este interpretul
  3. -f – opțiune de interpret, folosită pentru a citi un fișier de program

Acestea fiind spuse, să ne aruncăm acum în privire la câteva exemple de scripturi executabile Awk, putem începe cu scriptul simplu de mai jos. Utilizați editorul preferat pentru a deschide un fișier nou, după cum urmează:

vi script.awk

Și inserați codul de mai jos în fișier:

#!/usr/bin/awk -f 
BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Salvați fișierul și ieșiți, apoi faceți scriptul executabil lansând comanda de mai jos:

chmod +x script.awk

După aceea, rulați:

./script.awk
Ieșire eșantion
Writing my first Awk executable script!

Un programator critic trebuie să întrebe „unde sunt comentariile? ”, da, puteți include și comentarii în scriptul Awk. Scrierea comentariilor în codul dvs. este întotdeauna o practică bună de programare.

Îi ajută pe alți programatori să caute prin codul tău să înțeleagă ceea ce încerci să obții în fiecare secțiune a unui script sau fișier de program.

Prin urmare, puteți include comentarii în scriptul de mai sus, după cum urmează.

#!/usr/bin/awk -f 

#This is how to write a comment in Awk
#using the BEGIN special pattern to print a sentence 

BEGIN { printf "%s\n","Writing my first Awk executable script!" }

În continuare, ne vom uita la un exemplu în care citim intrarea dintr-un fișier. Dorim să căutăm un utilizator de sistem numit aaronkilik în fișierul contului, /etc/passwd, apoi tipărim numele de utilizator, ID-ul de utilizator și utilizatorul GID după cum urmează:

Mai jos este conținutul scriptului nostru numit second.awk.

#! /usr/bin/awk -f 

#use BEGIN sepecial character to set FS built-in variable
BEGIN { FS=":" }

#search for username: aaronkilik and print account details 
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Salvați fișierul și ieșiți, faceți scriptul executabil și executați-l după cum urmează:

chmod +x second.awk
./second.awk /etc/passwd
Ieșire eșantion
Username : aaronkilik User ID : 1000 User GID : 1000

În ultimul exemplu de mai jos, vom folosi instrucțiunea do while pentru a tipări numerele de la 0-10:

Mai jos este conținutul scriptului nostru numit do.awk.

#! /usr/bin/awk -f 

#printing from 0-10 using a do while statement 
#do while statement 
BEGIN {
#initialize a counter
x=0

do {
    print x;
    x+=1;
}
while(x<=10)
}

După salvarea fișierului, faceți scriptul executabil așa cum am făcut înainte. Apoi, rulați-l:

chmod +x do.awk
./do.awk
Ieșire eșantion
0
1
2
3
4
5
6
7
8
9
10

rezumat

Am ajuns la sfârșitul acestei interesante serie Awk, sper că ați învățat multe din toate cele 13 părți, ca o introducere în limbajul de programare Awk.

După cum am menționat de la început, Awk este un limbaj complet de procesare a textului, din acest motiv, puteți afla mai multe alte aspecte ale limbajului de programare Awk, cum ar fi variabile de mediu, matrice, funcții (încorporate și definite de utilizator) și nu numai.

Există încă părți suplimentare din programarea Awk de învățat și stăpânit, așa că, mai jos, am furnizat câteva link-uri către resurse online importante pe care le puteți folosi pentru a vă extinde abilitățile de programare Awk, acestea nu sunt neapărat tot ceea ce aveți nevoie, puteți, de asemenea, să căutați pentru cărți utile de programare Awk.

Legături de referință: Ghidul utilizatorului GNU Awk și programarea limbajului AWK

Pentru orice gânduri pe care doriți să le împărtășiți sau întrebări, utilizați formularul de comentarii de mai jos. Nu uitați să rămâneți mereu conectat la Tecmint pentru serii mai interesante.