Si të shkruani skripta duke përdorur gjuhën e programimit Awk - Pjesa 13


Gjatë gjithë kohës që nga fillimi i serisë Awk deri në pjesën 12, ne kemi shkruar komanda dhe programe të vogla Awk në vijën e komandës dhe në skriptet e guaskës respektivisht.

Sidoqoftë, Awk, ashtu si Shell, është gjithashtu një gjuhë e interpretuar, prandaj, me gjithë atë që kemi kaluar që nga fillimi i kësaj serie, tani mund të shkruani skriptet e ekzekutueshme Awk.

Ngjashëm me mënyrën se si shkruajmë një skript shell, skriptet Awk fillojnë me rreshtin:

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

Për shembull, në sistemin tim, programi Awk ndodhet në /usr/bin/awk, prandaj, unë do të filloja një skript Awk si më poshtë:

#! /usr/bin/awk -f 

Duke shpjeguar rreshtin e mësipërm:

  1. #! – i referuar si Shebang, i cili specifikon një përkthyes për udhëzimet në një skenar
  2. /usr/bin/awk – është përkthyesi
  3. -f – opsioni i interpretit, i përdorur për të lexuar një skedar programi

Thënë kështu, le të zhytemi tani në shikimin e disa shembujve të skripteve të ekzekutueshme Awk, mund të fillojmë me skriptin e thjeshtë më poshtë. Përdorni redaktorin tuaj të preferuar për të hapur një skedar të ri si më poshtë:

$ vi script.awk

Dhe ngjisni kodin më poshtë në skedar:

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

Ruani skedarin dhe dilni, më pas bëni skriptin të ekzekutueshëm duke lëshuar komandën më poshtë:

$ chmod +x script.awk

Më pas, drejtojeni:

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

Një programues kritik duhet të pyesë ku janë komentet?, po, mund të përfshini edhe komente në skriptin tuaj Awk. Shkrimi i komenteve në kodin tuaj është gjithmonë një praktikë e mirë programimi.

Ndihmon programuesit e tjerë që shikojnë kodin tuaj për të kuptuar se çfarë po përpiqeni të arrini në çdo seksion të një skripti ose skedari programi.

Prandaj, mund të përfshini komente në skenarin e mësipërm si më poshtë.

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

Më pas, do të shikojmë një shembull ku lexojmë të dhëna nga një skedar. Ne duam të kërkojmë për një përdorues të sistemit të quajtur aaronkilik në skedarin e llogarisë, /etc/passwd, më pas të printojmë emrin e përdoruesit, ID-në e përdoruesit dhe GID-në e përdoruesit si më poshtë:

Më poshtë është përmbajtja e skenarit tonë të quajtur 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 }

Ruani skedarin dhe dilni, bëjeni skriptin të ekzekutueshëm dhe ekzekutojeni si më poshtë:

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

Në shembullin e fundit më poshtë, ne do të përdorim deklaratën do while për të shtypur numrat nga 0-10:

Më poshtë është përmbajtja e skenarit tonë të quajtur 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)
}

Pas ruajtjes së skedarit, bëjeni skriptin të ekzekutueshëm siç kemi bërë më parë. Më pas, drejtojeni:

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

Përmbledhje

Kemi ardhur në fund të kësaj serie interesante Awk, shpresoj se keni mësuar shumë nga të 13 pjesët, si një hyrje në gjuhën e programimit Awk.

Siç e përmenda që në fillim, Awk është një gjuhë e plotë e përpunimit të tekstit, për këtë arsye, ju mund të mësoni më shumë aspekte të tjera të gjuhës programuese Awk si variablat mjedisorë, vargjet, funksionet (të integruara dhe të përcaktuara nga përdoruesi) dhe më gjerë.

Ka ende pjesë shtesë të programimit Awk për t'u mësuar dhe zotëruar, kështu që, më poshtë, kam ofruar disa lidhje me burime të rëndësishme në internet që mund t'i përdorni për të zgjeruar aftësitë tuaja të programimit Awk, këto nuk janë domosdoshmërisht gjithçka që ju nevojitet, gjithashtu mund të shikoni jashtë për libra të dobishëm programimi Awk.

Lidhjet e referencës: Programimi i gjuhës AWK

Për çdo mendim që dëshironi të ndani ose pyetje, përdorni formularin e komenteve më poshtë. Mos harroni të qëndroni gjithmonë të lidhur me Tecmint për seri më emocionuese.