Awk പ്രോഗ്രാമിംഗ് ഭാഷ ഉപയോഗിച്ച് സ്ക്രിപ്റ്റുകൾ എങ്ങനെ എഴുതാം - ഭാഗം 13


Awk സീരീസിന്റെ തുടക്കം മുതൽ ഭാഗം 12 വരെ, ഞങ്ങൾ ചെറിയ Awk കമാൻഡുകളും പ്രോഗ്രാമുകളും യഥാക്രമം കമാൻഡ് ലൈനിലും ഷെൽ സ്ക്രിപ്റ്റുകളിലും എഴുതുന്നു.

എന്നിരുന്നാലും, ഷെല്ലിനെപ്പോലെ Awk, ഒരു വ്യാഖ്യാന ഭാഷയാണ്, അതിനാൽ, ഈ പരമ്പരയുടെ തുടക്കം മുതൽ ഞങ്ങൾ നടത്തിയ എല്ലാ കാര്യങ്ങളും ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഇപ്പോൾ Awk എക്സിക്യൂട്ടബിൾ സ്ക്രിപ്റ്റുകൾ എഴുതാം.

നമ്മൾ എങ്ങനെ ഒരു ഷെൽ സ്ക്രിപ്റ്റ് എഴുതുന്നു എന്നതിന് സമാനമായി, Awk സ്ക്രിപ്റ്റുകൾ ഈ വരിയിൽ ആരംഭിക്കുന്നു:

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

ഉദാഹരണത്തിന്, എന്റെ സിസ്റ്റത്തിൽ, Awk യൂട്ടിലിറ്റി സ്ഥിതി ചെയ്യുന്നത് /usr/bin/awk എന്നതിൽ, അതിനാൽ, ഞാൻ ഇനിപ്പറയുന്ന രീതിയിൽ ഒരു Awk സ്ക്രിപ്റ്റ് ആരംഭിക്കും:

#! /usr/bin/awk -f 

മുകളിലെ വരി വിശദീകരിക്കുന്നു:

  1. #! – ഒരു സ്ക്രിപ്റ്റിലെ നിർദ്ദേശങ്ങൾക്കായി ഒരു വ്യാഖ്യാതാവിനെ വ്യക്തമാക്കുന്ന ഷെബാംഗ് എന്നറിയപ്പെടുന്നു
  2. /usr/bin/awk – ആണ് വ്യാഖ്യാതാവ്
  3. -f – ഇന്റർപ്രെറ്റർ ഓപ്ഷൻ, ഒരു പ്രോഗ്രാം ഫയൽ വായിക്കാൻ ഉപയോഗിക്കുന്നു

അതായത്, നമുക്ക് ഇപ്പോൾ Awk എക്സിക്യൂട്ടബിൾ സ്ക്രിപ്റ്റുകളുടെ ചില ഉദാഹരണങ്ങൾ നോക്കാം, ചുവടെയുള്ള ലളിതമായ സ്ക്രിപ്റ്റിൽ നമുക്ക് ആരംഭിക്കാം. ഇനിപ്പറയുന്ന രീതിയിൽ ഒരു പുതിയ ഫയൽ തുറക്കാൻ നിങ്ങളുടെ പ്രിയപ്പെട്ട എഡിറ്റർ ഉപയോഗിക്കുക:

$ vi script.awk

ഫയലിൽ താഴെയുള്ള കോഡ് ഒട്ടിക്കുക:

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

ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക, തുടർന്ന് താഴെയുള്ള കമാൻഡ് നൽകി സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക:

$ chmod +x script.awk

അതിനുശേഷം, ഇത് പ്രവർത്തിപ്പിക്കുക:

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

അവിടെയുള്ള ഒരു നിർണായക പ്രോഗ്രാമർ, \അഭിപ്രായങ്ങൾ എവിടെയാണ്?, അതെ, നിങ്ങളുടെ Awk സ്ക്രിപ്റ്റിലും നിങ്ങൾക്ക് അഭിപ്രായങ്ങൾ ഉൾപ്പെടുത്താവുന്നതാണ്. നിങ്ങളുടെ കോഡിൽ അഭിപ്രായങ്ങൾ എഴുതുന്നത് എല്ലായ്പ്പോഴും ഒരു നല്ല പ്രോഗ്രാമിംഗ് പരിശീലനമാണ്.

ഒരു സ്ക്രിപ്റ്റ് അല്ലെങ്കിൽ പ്രോഗ്രാം ഫയലിന്റെ ഓരോ വിഭാഗത്തിലും നിങ്ങൾ എന്താണ് നേടാൻ ശ്രമിക്കുന്നതെന്ന് മനസിലാക്കാൻ നിങ്ങളുടെ കോഡിലൂടെ നോക്കുന്ന മറ്റ് പ്രോഗ്രാമർമാരെ ഇത് സഹായിക്കുന്നു.

അതിനാൽ, മുകളിലുള്ള സ്ക്രിപ്റ്റിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ അഭിപ്രായങ്ങൾ ഉൾപ്പെടുത്താം.

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

അടുത്തതായി, ഒരു ഫയലിൽ നിന്നുള്ള ഇൻപുട്ട് വായിക്കുന്ന ഒരു ഉദാഹരണം നോക്കാം. /etc/passwd എന്ന അക്കൗണ്ട് ഫയലിൽ aaronkilik എന്ന് പേരുള്ള ഒരു സിസ്റ്റം ഉപയോക്താവിനായി തിരയാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു, തുടർന്ന് ഉപയോക്തൃനാമം, ഉപയോക്തൃ ഐഡി, ഉപയോക്തൃ GID എന്നിവ ഇനിപ്പറയുന്ന രീതിയിൽ പ്രിന്റ് ചെയ്യുക:

second.awk എന്ന ഞങ്ങളുടെ സ്uക്രിപ്റ്റിന്റെ ഉള്ളടക്കം ചുവടെയുണ്ട്.

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

ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക, സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കി താഴെ പറയുന്ന രീതിയിൽ എക്സിക്യൂട്ട് ചെയ്യുക:

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

ചുവടെയുള്ള അവസാനത്തെ ഉദാഹരണത്തിൽ, 0-10 മുതൽ സംഖ്യകൾ പ്രിന്റ് ചെയ്യാൻ ഞങ്ങൾ do while സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കും:

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)
}

ഫയൽ സേവ് ചെയ്ത ശേഷം, നമ്മൾ മുമ്പ് ചെയ്തതുപോലെ സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കുക. അതിനുശേഷം, ഇത് പ്രവർത്തിപ്പിക്കുക:

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

സംഗ്രഹം

ഞങ്ങൾ ഈ രസകരമായ Awk സീരീസിന്റെ അവസാനത്തിൽ എത്തിയിരിക്കുന്നു, Awk പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ആമുഖമെന്ന നിലയിൽ 13 ഭാഗങ്ങളിൽ നിന്നും നിങ്ങൾ ഒരുപാട് കാര്യങ്ങൾ പഠിച്ചിട്ടുണ്ടെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു.

ഞാൻ ആദ്യം മുതൽ സൂചിപ്പിച്ചതുപോലെ, Awk ഒരു സമ്പൂർണ്ണ ടെക്സ്റ്റ് പ്രോസസ്സിംഗ് ഭാഷയാണ്, അക്കാരണത്താൽ, പരിസ്ഥിതി വേരിയബിളുകൾ, അറേകൾ, ഫംഗ്ഷനുകൾ (ബിൽറ്റ്-ഇൻ & യൂസർ നിർവചിച്ചിരിക്കുന്നത്) കൂടാതെ അതിനപ്പുറവും നിങ്ങൾക്ക് Awk പ്രോഗ്രാമിംഗ് ഭാഷയുടെ കൂടുതൽ വശങ്ങൾ പഠിക്കാനാകും.

Awk പ്രോഗ്രാമിംഗിൽ പഠിക്കാനും പ്രാവീണ്യം നേടാനും ഇനിയും കൂടുതൽ ഭാഗങ്ങളുണ്ട്, അതിനാൽ, നിങ്ങളുടെ Awk പ്രോഗ്രാമിംഗ് കഴിവുകൾ വികസിപ്പിക്കാൻ നിങ്ങൾക്ക് ഉപയോഗിക്കാനാകുന്ന പ്രധാനപ്പെട്ട ഓൺലൈൻ ഉറവിടങ്ങളിലേക്കുള്ള ചില ലിങ്കുകൾ ഞാൻ ചുവടെ നൽകിയിരിക്കുന്നു, നിങ്ങൾക്ക് ആവശ്യമുള്ളത് ഇവയല്ല, നിങ്ങൾക്കും നോക്കാവുന്നതാണ്. ഉപയോഗപ്രദമായ Awk പ്രോഗ്രാമിംഗ് പുസ്തകങ്ങൾക്കായി പുറത്ത്.

റഫറൻസ് ലിങ്കുകൾ: AWK ലാംഗ്വേജ് പ്രോഗ്രാമിംഗ്

നിങ്ങൾ പങ്കിടാൻ ആഗ്രഹിക്കുന്ന എന്തെങ്കിലും ചിന്തകൾക്കും ചോദ്യങ്ങൾക്കും, ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കുക. കൂടുതൽ ആവേശകരമായ പരമ്പരകൾക്കായി Tecmint-മായി എപ്പോഴും ബന്ധം നിലനിർത്താൻ ഓർക്കുക.