Linux-AWK/C2/Loops-in-awk/Malayalam

From Script | Spoken-Tutorial
Revision as of 10:28, 13 July 2019 by Vijinair (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00: 01 ഹലോ, awk ലെ Loops എന്ന സ്പോക്കൺ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം.
00:06 ഈ ട്യൂട്ടോറിയലിൽ നമ്മൾ പഠിക്കുന്നത് while

do-while, പിന്നെ awk ലെഡ looping constructs

00:16 ചില ഉദാഹരണങ്ങളിലൂടെ നമ്മൾ ഇത് ചെയ്യും.
00:20 ഈ ട്യൂട്ടോറിയൽ റെക്കോർഡുചെയ്യാൻ, ഞാൻ ഉപയോഗിക്കുന്നു

Ubuntu Linux 16.04 Operating System gedit text editor 3.20.1

00:32 നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഏതെങ്കിലും ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിക്കാം.
00:36 ഈ ട്യൂട്ടോറിയൽ‌ അഭ്യസിക്കുന്നതിന്, ഞങ്ങളുടെ വെബ്‌സൈറ്റിലെ മുമ്പത്തെ awkട്യൂട്ടോറിയലു കൾ നിങ്ങൾക്കു അറിഞ്ഞിരിക്കണം .
00:43 C അല്ലെങ്കിൽ C++ പോലുള്ള ഏതെങ്കിലും പ്രോഗ്രാമിംഗ് ലാങ്ഗുവേജ് നിങ്ങൾക്ക് പരിചയം ഉണ്ടായിരിക്കണം
00:50 ഇല്ലെങ്കിൽ, ദയവായി ഞങ്ങളുടെ വെബ്‌സൈറ്റിലെ അനുബന്ധ ട്യൂട്ടോറിയലുകൾ നോക്കുക.
00:56 ഈ ട്യൂട്ടോറിയലിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഫയലുകൾ ഈ ട്യൂട്ടോറിയൽ പേജിലെ Code Files ലിങ്കിൽ ലഭ്യമാണ്.

അവ ഡൌൺലോഡ് ചെയ്ത് എക്‌സ്‌ട്രാക്റ്റുചെയ്യുക.

01:06 ഒന്നോ അതിലധികമോ ആഷസ് ആവർത്തിക്കുവാൻ ഒരു loop നമ്മെ അനുവദിക്കുന്നു.
01:12 while, do-while for എന്നിവയാണ് 'awk. ൽ ലഭ്യമാകുന്ന loops
01: 18 while loop ന്റെ സിന്റാക്സ് ഇവിടെ കാണാം.
01:22 While loop ആദ്യം പരിശോധിക്കുന്നു.
01:27 yes, എങ്കിൽ, അത് body. ക്കു ഉള്ളിലെ കോഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു.

while condition true ആയിരിക്കുന്നിടത്തോളം ഈloop ആവർത്തിക്കുന്നു .

01:37 നമ്മൾ മുമ്പ് ഉപയോഗിച്ച അതേ 'awkdemo.txt' ഫയൽ നമ്മൾ ഉപയോഗിക്കും.
01:43 ഇതിനകം തന്നെ 'while_loop.awk' 'എന്ന പേരിൽ ഞാൻ ഒരു സ്ക്രിപ്റ്റ് എഴുതിയിട്ടുണ്ട്
01:48 ഈ ട്യൂട്ടോറിയലിന്റെ Code Files ലിങ്കിൽ ഈ ഫയൽ ലഭ്യമാണ്.
01:53 ഇവിടെ നമ്മൾ Pipe symbol. ആയി field separatorസെറ്റ് ചെയ്‌തു .
01:58 തുടക്കത്തിൽ, loop variable i ന്റെ മൂല്യം 1 ആയി സ്റ്റ്യൂ ചെയ്യണം
02:04 ഇവിടെ, നമ്മൾ ഒന്നിലധികം വേരിയബിൾ 'f' എടുത്ത് 1 ലേക്ക് ഇനിഷ്യലൈസ്‌ ചെയ്തു .
02:10 Variable f ഓരോ 'റെക്കോർഡിനുംfield counter അല്ലെങ്കിൽ ഓരോ റെക്കോർഡ് നും ഫീൽഡ് ന്റെ സ്ഥാനം പ്രതിനിധീകരിക്കുന്നു.
02:17 ഇപ്പോൾ, while condition, ൽ i 3നു കുറവോ തുല്യമോ ആണോ എന്ന് പരിശോധിക്കുന്നു.
02:23 yes,എങ്കിൽ അത് ,' awkdemo.txt 'ഫയലിൽ ആ റൊക്കോഡ് നു ആയി 'f' ത് ഫീൽഡിൽ മൂല്യം അച്ചടിക്കും.
02:31 തുടർന്ന് field counter f 1 വർദ്ധിപ്പിക്കും.
02:36 അതിനുശേഷം, നമ്മൾ loop variable i എന്നതിന്റെ മൂല്യം 1 വർദ്ധിപ്പിക്കും.
02:43 ഓരോ വരിയുടെയും അവസാനത്തിൽ ഒരു newline character പ്രിന്റ് ചെയ്യുന്നതിന് ആണ് ഈ 'printf' .
02:49 'Awkdemo.txt' ഫയലിലെ എല്ലാ റെക്കോർഡുകൾക്കും ഈ loop എക്സിക്യൂട്ട് ചെയ്യും.
02:55 അതായത് ഓരോ റെക്കോർഡിനും ആദ്യത്തെ 3 ഫീൽഡുകൾ അച്ചടിക്കും.
03:00 ഈ കോഡ് ഇപ്പോൾ എക്സിക്യൂട്ട് ചെയ്യാം.
03:03 'Ctrl, Alt' , 'T' കീകൾ അമർത്തി terminal തുറക്കുക.
03:09 cd command'ഉപയോഗിച്ച് നിങ്ങൾ ഡൌൺലോഡ് ചെയ്ത്Code Filesഎക്‌സ്‌ട്രാക്റ്റുചെയ്‌ത ഫോൾഡറിലേക്ക് പോകുക.
03: 16 ഇപ്പോൾ ടൈപ്പ് ചെയ്യുക: awk space hyphen small f space while_loop.awk space awkdemo.txt
Enter അമർത്തുക.
03:29 ഔട്പുട്ടിൽ എല്ലാ വരികളുടെയും ആദ്യത്തെ മൂന്ന്fields ലഭിക്കുന്നുവെന്ന് കാണാം.
03:35 do-while loop. ഉം ഇതേ പോലെ ചെയ്യാം .
03:38 'do-while loop. ന്റെ സിന്റാക്സ് ഇവിടെ കാണാം.
03:42 do-while loop എല്ലായ്പ്പോഴും bodyക്കു ഉള്ളിലെ കോഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നു.
03:47 പിന്നെ അത് നിർദ്ദിഷ്ട condition. പരിശോധിക്കുന്നു.' നിർദ്ദിഷ്ട condition.ഉള്ളിടത്തോളം കാലംbody, ക്കുള്ളിൽ ഉള്ളിൽ കോഡ് ആവർത്തിക്കുന്നു.
03:56 ഞാൻ ഇതിനകം ഒരു സ്ക്രിപ്റ്റ് എഴുതി അതിനെ 'do_loop.awk' എന്ന് പേര് കൊടുക്കുന്നു .

ഈ ഫയൽCode Files ലിങ്കിൽ ലഭ്യമാണ്.


04:06 ഈ കോഡിൽ, do loop, നു ഉള്ളിൽ statements കൾ ഉണ്ട് ., അവ ആദ്യം എക്സി ക്യൂട്ട് ചെയ്യും .

ഇതാണ് ചെക് ചെയ്യേണ്ട condition .

04:15 അതിനുശേഷം condition true ആണെങ്കിൽ

loop നു ഉള്ളിലെ statements ഉള്ളിടത്തോളം ആവർത്തിച്ച് എക്സിക്യൂട്ട് ചെയ്യും .

04:23 loop awkdemo.txt 'ഫയലിലെ എല്ലാ റെക്കോർഡുകൾക്കും ആവർത്തിക്കും.

അതായത് എല്ലാ റെക്കോർഡുകൾക്കും ആദ്യത്തെ 3 ഫീൽഡുകൾ അച്ചടിക്കും.

04:33 നമുക്ക് ടെർമിനലിലേക്ക് പോകാം . ഞാൻ ടെർമിനൽ ക്ലിയർ ചെയ്യട്ടെ .
04:38 ഇപ്പോൾ ടൈപ്പ് ചെയ്യുക: awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt . Enterഅമർത്തുക
04:52 നമുക്ക് അതെ ഔട്ട്പുട്ട് ലഭിക്കും. പിന്നെ എന്തിനാണ് while do-while loops? എന്നിവ?
04:58 വ്യത്യാസം നമുക്ക് മനസ്സിലാക്കാം.
05:00 while underscore loop dot awkഫയലിലേക്ക് മാറുക.
05:05 ഇപ്പോൾ, loop counter i യുടെ മൂല്യം 1 ൽ നിന്ന് 4 ആക്കുക.
05:11 ഇത് തുടക്കം മുതൽ നിർദ്ദിഷ്ട condition തെറ്റ് ആക്കും.
ഇതിനർത്ഥം, നമുക്ക്ല ഔട്ട്പുട്ട്ഭി ലഭിക്കരുത് .
05:19 ഫയൽ സേവ് ചെയ്തു ടെർമിനലിലേക്ക്മാറുക.
05:22 terminal.ക്ലിയർ ചെയുക .
while loop. എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുള്ള കമാൻഡ് ലഭിക്കുന്നതുവരെ അപ് ആരോ  കീ അമർത്തുക.
05:30 ഇപ്പോൾEnter. അമർത്തുക.
05:32 നോക്കൂ, ശൂന്യമായ വരികൾ കൂടാതെ ഞങ്ങൾക്ക് ഔട്ട്പുട്ട് ലഭിക്കുന്നില്ല .
05:37 'Awkdemo.txt' ഫയലിലെ ഓരോ റെക്കോർഡിനും, ഔട്ട്പുട്ട് ആയി ശൂന്യമായ വരികൾ അച്ചടിക്കുന്നു.
05:44 നമുക്ക് ഇനി 'do loop' ഫയലിൽ ചില മാറ്റങ്ങൾ വരുത്താം.
05:48 do underscore loop dot awkഫയലിലേക്ക് മാറുക
05:53 'I' യുടെ മൂല്യം 1 മുതൽ 4 വരെ മാറ്റുക.
05:57 ഫയൽ സേവ് ചെയ്തു ടെർമിനലിലേക്ക് മാറുക.
06:01 terminal ക്ലിയർ ചെയുക .

'Do loop' എന്ന കമാൻഡ് ലഭിക്കുന്നതുവരെ മുകളിലേക്കുള്ള അപ് ആരോ കീ അമർത്തുക.

Enter.അമർത്തുക.
06: 10 ഇന്പുട് ട്ട്‌ൽ, ഓരോ വരിയുടെയും ആദ്യത്തെ ഫീൽഡ് മാത്രമേ അച്ചടിക്കൂ.

എന്താണ് കാരണം?

06:16 ഓരോ വരിയിലും, 'awk' ആദ്യത്തെ field, ന്റെ മൂല്യം ആദ്യംഅച്ചടിക്കുന്നു,' കാരണം variable f ന്റെ ന്റെ മൂല്യം '1' ലേക്ക് ഇനിഷ്യലിസ് ചെയുന്നു .

തുടർന്ന് condition ചെക് ചെയുന്നു.

06:28 loop counter i യുടെ മൂല്യം 4' ആയതിനാൽ, condition തെറ്റ് ആണ് .

അതിനാൽ, ആ റെക്കോർഡിനായി loop അവിടെ മാത്രം അവസാനിപ്പിക്കും.

06:39 'awkdemo.txt' ഫയലിലെ എല്ലാ റെക്കോർഡുകൾക്കും ഈ loop ആവർത്തിക്കും.
06:44 ഇതിന്റെ അർഥം ഓരോ റെക്കോർഡിനുമുള്ള ആദ്യത്തെ field അച്ചടിക്കും.
06:49 ഓരോ റെക്കോർഡിനും ഒരു തവണയെങ്കിലും ഔട്ട്പുട്ട്ട്ട്‌ പുട്ട് നമുക്ക് ലഭിക്കുന്നു.
06:53 മറ്റേതെങ്കിലുംcondition കൂടാതെ , ഒരു തവണയെങ്കിലും എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് do-while loop, 'ഉപയോഗിക്കുക.
07:01 for loop ഉപയോഗിച്ചും നമുക്ക് ഇത് ചെയ്യാൻ കഴിയും.
07:05 for loop നു ആയുള്ള സിന്റാക്സ് ഇവിടെ കാണാം.
07:09 initialization എക്സിക്യൂട്ട് ചെയുമ്പോൾ for statement ആരംഭിക്കും .
07:14 പിന്നെ, condition ശെരി ആണെങ്കിൽ അത് statements കൾക്ക് ഉള്ളിലും തുടർന്ന്increments ലും എക്സി ക്യൂട്ട് ചെയ്യും .
07:23 C അല്ലെങ്കിൽ C++,പോലുള്ള ഒരു ഭാഷ നിങ്ങളുക്കു പരിചയം കഉള്ളതിനാൽ , ഞാൻ സിന്റാക്സ് വിശദമായി വിവരിക്കുന്നില്ല.
07:30 condition നു വേണ്ടിയുള്ള for loop ഇതാണ്.
07:35 ഇവിടെ, initialization, conditionചെക്കിംഗ്, വേരിയബിൾ ഇൻക്രിമെന്റേഷൻ എന്നിവ ഒരേ വരിയിലാണ് ചെയ്യുന്നത്.
07:43 ഇത് സ്വയം നോക്കുക
07:46 ഇനിയും കുറച്ച് looping constructs ഉണ്ട്.

break, continue, exit

07:53 ഇനിയുള്ള ട്യൂട്ടോറിയലുകളിൽ ഇവയെക്കുറിച്ചുള്ള പ്രസക്തമായ ചില ഉദാഹരണങ്ങൾ നമുക്ക് നോക്കാം .
07:58 ഞങ്ങളുടെ ഫയലിൽ സിംഗിൾ , മൾട്ടി ലൈൻ comments ഉണ്ടായിരിക്കാം.
08:03 സിംഗിൾ ലൈൻ comments , hash (#) symbol. ഉപയോഗിച്ച് പ്രഖ്യാപിക്കുന്നത് ഇവിടെ ശ്രദ്ധിക്കുക.
08:10 ഡബിൾ hash (##)ചിഹ്നത്തിന്റെ ന്റെ സഹായത്തോടെ മൾട്ടിലൈൻ commentsപ്രഖ്യാപിക്കുന്നു.
08:16 ഇപ്പോൾ, ഔട്ട്പുട്ട് ൽ ഈcomments പരിശോധിച്ച് പ്രിന്റ് ചെയ്യുന്നതിൽ കാര്യമില്ല .
08:22 hash (##) ചിഹ്നത്തിൽ ആരംഭിക്കുന്ന വരികൾ ഞങ്ങൾ ഒഴിവാക്കണം.

നമുക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും?

08:28 8000 ൽ കൂടുതൽ ലഭിക്കുന്നവർക്ക് സ്റ്റൈപൻഡിൽ 50% വർദ്ധനവ് നൽകിയ കേസ് ഓർക്കുക.
08:36 comments ഒഴിവാക്കുന്നതിന് ഞങ്ങൾ സമാന ഉദാഹരണം ഉപയോഗിക്കും.
08:40 ഈ എക്സി കുഷനായി ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ ഞാൻ 'next.awk' എന്ന പേരിൽ ഒരു ഫയൽ സൃഷ്ടിച്ചു.
08: 47 ഇപ്പോൾ, ഈ കമാൻഡ് എന്താണ് അർത്ഥമാക്കുന്നത്?
08:50 ഓരോ വിരിയുടെയും ആദ്യം 'awk' caret sign hash symbol(^#) പാറ്റേണിനായി തിരയുന്നു.
08:57 പാറ്റേൺ കണ്ടെത്തിയാൽ, നിലവിലെ വരി ഉടനടി ഒഴിവാക്കാൻ കീവേഡ് awk നോട് പറയുന്നു.
09:04 തുടർന്ന് ഫയലിലെ അടുത്ത വരിയിൽ നിന്ന് 'awk' പ്രോസസ്സിംഗ് ആരംഭിക്കും.

ഇത് പ്രോസസ്സിംഗ് സമയം ലാഭിക്കും.

09:12 terminal ലേക്ക് മാറി ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പുചെയ്യുക

Enter. അമർത്തുക.

09:20 അഭിപ്രായങ്ങളൊന്നുമില്ലാതെ ഞങ്ങൾക്ക് ഔട്ട്പുട്ട് ലഭിക്കും.
09:24 നമുക്ക്ഒ രേ ഫോർമാറ്റുള്ള ഒന്നിലധികം ഫയലുകളിൽ വിദ്യാർത്ഥികളുടെ റെക്കോർഡുകൾ ഉണ്ടെന്ന് കരുതുക.

'Awkdemo_mod.txt' , 'awkdemo2.txt' എന്നിവ

09:37 നോക്കൂ, ഇത് നമ്മുടെ മുമ്പത്തെ ഫയലിന് സമാനമാണ്.
09:41 ഇതിന് hash സിംബൽ തുടങ്ങുന്ന comments ഉണ്ട് .
09:45 ഇതിന് അവസാനം ഡബിൾ hash ##ചിഹ്നമുള്ള വലിയ ടെക്സ്റ്റ് ഉണ്ട്.
09:50 അതിനാൽ നമ്മുടെ ഡാറ്റ രണ്ട് വ്യത്യസ്ത ഫയലുകളിലാണ്.

എല്ലാ വിദ്യാർത്ഥികൾക്കും ഇൻക്രിമെന്റ് നൽകാൻ രണ്ട് ഫയലുകളും പ്രോസസ്സ് ചെയ്യണം.

09:59 ആദ്യ ഫയലിന്റെ ഡബിൾ hash(##)ചിഹ്നത്തിൽ എത്തിക്കഴിഞ്ഞാൽ,' awk 'ആ ഫയൽ പൂർണ്ണമായും പ്രോസസ്സ് ചെയ്യുന്നത് നിർത്തണം.
10:06 അത് കഴിഞ്ഞു അടുത്ത ഫയലിൽ നിന്ന് എക്സിക്യൂഷൻ ആരംഭിക്കേണ്ടതുണ്ട്.

ഇത് പ്രോസസ്സിംഗ് സമയം ലാഭിക്കും.

10:13 ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ 'next.awk' പമോഡിഫൈ ചെയുക
10:17 ഞാൻ begin statement. ന്റെ താഴെ dollar zero tilde slash caret symbol double hash slash within braces nextfile semicolon ചേര്ത്തു
10:29 ഇത് ഓരോ വരിയുടെയും ആദ്യം ഡബിൾ hash #ചിഹ്നത്തിനായി തിരയുന്നു.
10:34 കണ്ടെത്തി കഴിഞ്ഞു അടുത്ത ഫയൽ പ്രോസസ്സ് ചെയ്യുന്നതിന് 'awk' ലെ നിലവിലെ ഫയൽ ഒഴിവാക്കും.
10:39 ഈ ഫയൽ സേവ് ചെയുക .
10: 41 terminal ലേക്ക് മാറി ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പുചെയ്യുക.

Enterഅമർത്തുക.

10:48 രണ്ട് ഫയലുകളിൽ നിന്നും ഔട്ട്പുട്ട് നമുക്ക് ലഭിക്കുന്നു.
10:53 ഇത് ഞങ്ങളെ ഈ ട്യൂട്ടോറിയലിന്റെ അവസാന ഭാഗത്തു എത്തുന്നു .

നമുക്ക് സംഗ്രഹിക്കാം.

10:58 ഈ ട്യൂട്ടോറിയലിൽ നമ്മൾ awk' ലെ while, do… while, for, next, nextfile എന്നിവ പഠിച്ചു
11:06 ഒരു അസൈൻമെന്റ് ആയി input file. ലിൽ എത്ര fields ഉണ്ടെന്നു നോക്കാതെ 'Awkdemo2.txt' യിലെ വിദ്യാർത്ഥി റെക്കോർഡുകൾക്കായുള്ള ഇരട്ട അക്കങ്ങൾ ഉള്ള ഫീൽഡുകൾ' (അതായത് 'ഫീൽഡ്' 2, 'ഫീൽഡ്' 4 മുതലായവ മാത്രം അച്ചടിക്കുക. '
11:22 ഇനിപ്പറയുന്ന ലിങ്കിലെ വീഡിയോ സ്‌പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്റ്റിനെ സംഗ്രഹിക്കുന്നു.

ഡൗൺലോഡ് ചെയ്ത് കാണുക.

11:30 സ്‌പോക്കൺ ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് സ്‌പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്റ്റ് ടീം വർക്ക്‌ഷോപ്പുകൾ നടത്തുകയും ഓൺലൈൻ ടെസ്റ്റുകളിൽ വിജയിക്കുന്നതിന് സർട്ടിഫിക്കറ്റുകൾ നൽകുകയും ചെയ്യുന്നു.

കൂടുതൽ വിവരങ്ങൾക്ക്, ഞങ്ങൾക്ക് എഴുതുക.

11:43 ഈ സ്‌പോക്കൺ ട്യൂട്ടോറിയലിൽ നിങ്ങൾക്ക് ചോദ്യങ്ങളുണ്ടോ?

ദയവായി ഈ സൈറ്റ് സന്ദർശിക്കുക.

11:49 സ്‌പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്ടിന് ധനസഹായം നൽകുന്നത് എൻ‌എച്ച്‌ഇ‌സി‌ടി, എം‌എച്ച്‌ആർ‌ഡി, ഇന്ത്യാ ഗവൺമെന്റ്.

ഈ ദൗത്യത്തെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഈ ലിങ്കിൽ ലഭ്യമാണ്.

12:01 ഐഐടി ബോംബെയിൽ നിന്നുള്ള വിജി നായർ

ചേർന്നതിന് നന്ദി.

Contributors and Content Editors

Vijinair