Giunsa Pagsulat ang mga Script Gamit ang Awk Programming Language - Bahin 13


Gikan sa sinugdanan sa serye sa Awk hangtod sa Part 12, nagsulat kami ug gagmay nga mga command ug programa sa Awk sa command line ug sa mga script sa shell.

Bisan pa, ang Awk, sama sa Shell, usa usab ka gihubad nga lengguwahe, busa, sa tanan nga among naagian gikan sa pagsugod sa kini nga serye, mahimo nimong isulat ang Awk executable scripts.

Sama sa kung giunsa naton pagsulat ang script sa shell, ang mga script sa Awk nagsugod sa linya:

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

Pananglitan sa akong sistema, ang Awk utility nahimutang sa/usr/bin/awk, busa, magsugod ko og Awk script sama sa mosunod:

#! /usr/bin/awk -f 

Pagpatin-aw sa linya sa ibabaw:

  1. #! – gitawag nga Shebang, nga nagtino sa usa ka tighubad alang sa mga instruksyon sa usa ka script
  2. /usr/bin/awk – mao ang tighubad
  3. -f – opsyon sa tighubad, gigamit sa pagbasa sa file sa programa

Ingon niana, atong susihon karon ang pagtan-aw sa pipila ka mga pananglitan sa mga executable nga script sa Awk, mahimo naton magsugod sa yano nga script sa ubos. Gamita ang imong paborito nga editor sa pag-abli sa bag-ong file sama sa mosunod:

$ vi script.awk

Ug idikit ang code sa ubos sa file:

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

I-save ang file ug exit, dayon himoa nga ma-executable ang script pinaagi sa pag-isyu sa command sa ubos:

$ chmod +x script.awk

Pagkahuman, pagdagan kini:

$ ./script.awk
Writing my first Awk executable script!

Ang usa ka kritikal nga programmer sa gawas kinahanglan nga mangutana, \asa ang mga komentaryo?, Oo, mahimo usab nimo ilakip ang mga komentaryo sa imong Awk script. Ang pagsulat sa mga komentaryo sa imong code kanunay nga usa ka maayo nga praktis sa pagprograma.

Nakatabang kini sa ubang mga programmer nga nagtan-aw sa imong code aron masabtan kung unsa ang imong gipaningkamutan nga makab-ot sa matag seksyon sa usa ka script o file sa programa.

Busa, mahimo nimong ilakip ang mga komento sa script sa taas ingon sa mosunod.

#!/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!" }

Sunod, atong tan-awon ang usa ka pananglitan diin atong gibasa ang input gikan sa usa ka file. Gusto namong pangitaon ang user sa sistema nga ginganlag aaronkilik sa account file, /etc/passwd, unya i-print ang username, user ID ug user GID sama sa mosunod:

Sa ubos mao ang sulod sa atong script nga gitawag og 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 }

I-save ang file ug exit, himoa nga ma-executable ang script ug i-execute kini sama sa ubos:

$ chmod +x second.awk
$ ./second.awk /etc/passwd
Username : aaronkilik User ID : 1000 User GID : 1000

Sa kataposang pananglitan sa ubos, atong gamiton ang do while nga pahayag sa pag-print sa mga numero gikan sa 0-10:

Sa ubos mao ang sulod sa among script nga gitawag og 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)
}

Human ma-save ang file, himoa nga ma-executable ang script sama sa among gibuhat kaniadto. Pagkahuman, pagdagan kini:

$ chmod +x do.awk
$ ./do.awk
0
1
2
3
4
5
6
7
8
9
10

Summary

Natapos na namon ang kini nga makapaikag nga serye sa Awk, nanghinaut ko nga daghan ka nga nakakat-on gikan sa tanan nga mga bahin sa 13, ingon usa ka pasiuna sa Awk programming language.

Sama sa akong nahisgutan gikan sa sinugdanan, ang Awk usa ka kompleto nga sinultian sa pagproseso sa teksto, tungod niana nga hinungdan, makakat-on ka pa sa ubang mga aspeto sa Awk programming language sama sa mga variable sa kalikopan, arrays, function (built-in & gihubit sa user) ug sa unahan.

Adunay pa dugang nga mga bahin sa Awk programming aron mahibal-an ug ma-master, mao nga, sa ubos, naghatag ako pipila ka mga link sa hinungdanon nga mga kapanguhaan sa online nga magamit nimo aron mapalapad ang imong kahanas sa pagprograma sa Awk, dili kini tanan nga kinahanglan nimo, mahimo usab nimo tan-awon alang sa mapuslanon nga mga libro sa programming sa Awk.

Reference Links: AWK Language Programming

Alang sa bisan unsang mga hunahuna nga gusto nimong ipaambit o mga pangutana, gamita ang porma sa komento sa ubos. Hinumdumi nga kanunay magpabilin nga konektado sa Tecmint para sa mas kulbahinam nga serye.