Linux-AWK/C2/MultiDimensional-Array-in-awk/Malayalam

From Script | Spoken-Tutorial
Revision as of 14:25, 17 July 2019 by Vijinair (Talk | contribs)

Jump to: navigation, search
Time
Narration
00:01 ഹലോ, awk ലെ multidimensional arrays എന്ന സ്പോക്കൺ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം.
00:07 ഈ ട്യൂട്ടോറിയലിൽ നമ്മൾ awkmultidimensional array ഉണ്ടാക്കി multidimensional array സ്കാൻ ചെയ്യാൻ പഠിക്കും.
00:18 ചില ഉദാഹരണങ്ങളിലൂടെ ഞങ്ങൾ ഇത് ചെയ്യും.
00:21 ഈ ട്യൂട്ടോറിയൽ റെക്കോർഡുചെയ്യാൻ, ഞാൻ Ubuntu Linux 16.04 Operating System gedit text editor 3.20.1എന്നിവ ഉപയോഗിക്കുന്നു
00:33 നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഏത് എങ്കിലും ടെക്സ്റ്റ് എഡിറ്ററും ഉപയോഗിക്കാം.
00:37 ഈ ട്യൂട്ടോറിയൽ‌ അഭ്യസിക്കുന്നതിന്, നിങ്ങൾ‌ ഈ വെബ്‌സൈറ്റിലെ array എന്നതിനെ കുറിച്ച് ഉള്ള മുമ്പത്തെ awk 'ട്യൂട്ടോറിയലുകൾ അറിഞ്ഞിരിക്കണം .
00:45 C അല്ലെങ്കിൽ C++. പോലുള്ള ഏതെങ്കിലും പ്രോഗ്രാമിംഗ് ലാങ്ക്വേജ് നെ കുറിച്ച് നിങ്ങൾക്ക് അടിസ്ഥാന അറിവ് ഉണ്ടായിരിക്കണം.
00:52 ഇല്ലെങ്കിൽ, ദയവായി ഞങ്ങളുടെ വെബ്‌സൈറ്റിലെ പ്രസക്തമായ 'ട്യൂട്ടോറിയലുകൾ കാണുക .
00:58 ഈ ട്യൂട്ടോറിയലിൽ ഉപയോഗിച്ചിരിക്കുന്ന ലിങ്കുകൾ ഈ ട്യൂട്ടോറിയൽ പേജിലെ Code Filesലിങ്കിൽ ലഭ്യമാണ്.

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

01:08 എന്താണ് 'awk' ലെ multidimensional array ?
01:12 single dimensional arrays, ൽ ഒരുarray element ഒരൊറ്റ index.ലൂടെ ആണ് തിരിച്ചറിയുന്നതു എന്ന് നമുക്കറിയാം.
01:19 ഉദാഹരണത്തിന് array week സിംഗിൾ index, day.ഉപയോഗിച്ച് തിരിച്ചറിയാം .
01:26 എന്നിരുന്നാലും multidimensional array, യിൽ ഒരു element ഒന്നിലധികംindices. കളുടെ ഒരു സീക്വൻസ് ഉപയോഗിച്ച് തിരിച്ചു അറിയും .
01:34 ഉദാഹരണത്തിന്,ഒരു two dimensional array element യിൽ 2 indices. ഒരു സീക്വൻസ് ഉപയോഗിച്ച്തിരിച്ചു അറിയും
01:42 ഇവിടെ,multiple indices ഒരൊറ്റ string, ലേക്ക് യോജിപ്പിച്ചിരിക്കുന്നു, അവയ്ക്കിടയിൽseparator ഉണ്ട്.
01:50 separator എന്നത് built-in variable SUBSEP. ന്റെ മൂല്യമാണ്.
01:55 ഒരു സിംപിൾ one dimensional array. യിൽ കാമ്പൈൻഡ് string ഒരു ' single index ആയി സൂചികയായി ഉപയോഗിക്കുന്നു.
02:01 ഉദാഹരണത്തിന്, നമ്മൾ multi within square brackets 4 comma 6 equal to value in double quotes

എഴുതുന്നുവെന്ന് കരുതുക.

02:11 ഇവിടെmulti എന്നത് multi-dimensional array. യുടെ പേരാണ്.

തുടർന്ന്,4 and 6 എന്നീ സംഖ്യകൾ ഒരു string.ലേക്ക് മാറ്റുന്നു .

02:21 SUBSEP 'ന്റെ മൂല്യംhash symbol (#).എന്ന് കരുതുക.
02:26 തുടർന്ന്, ഈ സംഖ്യകൾ അവയ്ക്കിടയിൽ ഒരു hash symbol (#). ആയി യോജിപ്പിച്ചിരിക്കുന്നു.
02:32 അതിനാൽ, array element multi within square brackets within double quotes 4 hash 6 എന്നത് value within double quotes.എന്ന് സ്റ് ചെയ്തു .
02:43 SUBSEP ന്റെ ഡിഫാൾട് മൂല്യം string within double quotes backslash 034. ആണ്
02:50 ഇത് യഥാർത്ഥത്തിൽ ഒരുnonprinting character. കാരക്ടർ ആണ് .

ഇത് സാധാരണയായി മിക്ക ഇൻപുട്ട് ഡാറ്റയിലും ദൃശ്യമാകില്ല.

02:58 സ്ലൈഡിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു two dimensional array ഡിക്ലയർ ചെയ്യാൻ നോക്കാം .
03:03 റോ 1 എന്നതിൽ എലെമെന്റ്സ് A Bഎന്നിവ അടങ്ങിയിരിക്കുന്നു
03:08 റോ 2 എന്നതിൽ 'C and D'എന്നീ രണ്ട്എലെമെന്റ്സ്
03:12 'Ctrl' ',' Alt ',' 'T' 'കീകൾ അമർത്തി terminal തുറക്കുക
03:17 cd command ഉപയോഗിച്ച് നിങ്ങൾ Code Files ഡൗൺലോഡ്എ ചെയ്ത ക്‌സ്‌ട്രാക്റ്റുചെയ്‌ത ഫോൾഡർ ലേക്ക് പോകുക .
03:24 ഇപ്പോൾ array ഡിഫൈൻ ചെയുക . ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ശ്രദ്ധാപൂർവ്വം ടൈപ്പുചെയ്യുക.

തുടർന്ന് Enter.അമർത്തുക.

03:35 നമുക്ക് ക്ക് ഒരു command prompt ഒരു error. കൂടാതെ തിരികെ ലഭിക്കുന്നു.

അതിനാൽ, array ഡിഫൈൻ ചെയ്തിരിക്കുന്നു .

03:41 കോഡിൽ പ്രിന്റുചെയ്യാൻ നമ്മൾ ഒന്നും നൽകിയിട്ടില്ലാത്തതിനാൽ നമുക്ക് ഔട്ട്പുട്ട് ലഭിക്കുന്നില്ല.
03:47 നമുക്ക് print statement.ചേർക്കാം.
03:50 മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് terminal. ൽ ലഭിക്കുന്നതിന് അപ് ആരോ കീ അമർത്തുക.
03:56 curly bracket, ക്ലോസ് ചെയുന്ന തൊട്ടുമുമ്പ്, semicolon space print space a within square brackets 2 comma 2 എന്ന് ടൈപ്പ് ചെയുക

കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് 'Enter' അമർത്തുക.

04:13 ശ്രദ്ധിക്കുക, നമുക്ക് capital D. ഔട്ട്പുട്ട് ആയി കിട്ടി
04:18 തന്നിരിക്കുന്ന multidimensional array യിൽ ഒരു പ്രത്യേക index sequence ഉണ്ടോയെന്ന് എങ്ങനെ പരിശോധിക്കും?
04:25 നമുക്ക് in operator.ഉപയോഗിക്കാം.
04:28 ഈ സീരീസ് ലെ മുമ്പത്തെ single-dimensional array യിൽ നമ്മൾ ഇതിനകം കണ്ടു.
04:34 indices കളുടെ എല്ലാ സീക്വൻസും പരാന്തിസിസിൽ എഴുതി കോമ കൊണ്ട് വേര് തിരിക്കണം
04:42 നമുക്ക് ഇത് ഒരു ഉദാഹരണത്തിലൂടെ നോക്കാം .
04:45 ഞാൻ ഇതിനകം 'test_multi.awk' 'എന്ന പേരിൽ ഒരു സ്ക്രിപ്റ്റ് എഴുതിയിട്ടുണ്ട്.
04:51 ഈ ട്യൂട്ടോറിയൽ പേജിന്റെ Code Filesലിങ്കിലു ഇത് ലഭ്യമാണ്.
04:56 നമ്മുടെ മുമ്പത്തെ ചർച്ചയിൽ കണ്ടതുപോലെ ഞാൻ ഒരു2 by 2 array ഡിഫൈൻ ചെയ്തു .
05:02 രണ്ട് if conditions.എഴുതിയിട്ടുണ്ട്.
05:06 ആദ്യത്തെ if condition index one comma one, ലെ element ഉണ്ടോയെന്ന് പരിശോധിക്കുന്നു.
05:13 പരാൻതീസിസിനുള്ളിൽ multidimensional array ക്കു വേണ്ടി നമ്മൾ index എഴുതണം.
05:18 condition true ആണെങ്കിൽ, അത്one comma one is present പ്രിന്റുചെയ്യും.
05:23 അല്ലെങ്കിൽ one comma one is absent. എന്ന് പ്രിന്റുചെയ്യും.
05:28 അതുപോലെ, index three comma one.എന്നതിൽ element ഉണ്ടോ എന്ന് ചെക് ചെയ്യും

നമുക്ക് ഫയൽ എക്സിക്യൂട്ട് ചെയ്യാം.

05:36 'ടെർമിനലിലേക്ക്' 'മാറി ടൈപ്പ് ചെയ്യുകawk space hyphen small f space test underscore multi dot awk Enter. അമർത്തുക.
05:49 one comma one is present three comma one is absent. എന്ന് ഔട്ട്പുട്ട് പറയുന്നു .
05:55 നമുക്ക് ഒരു ഉദാഹരണം കൂടി നോക്കാം.

ഒരു matrix. ന്റെ transpose സൃഷ്ടിക്കാൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് പറയുക.

06:02 ഒരു matrix ന്റെ transpose ഉണ്ടാകുന്നത് ,'matrix. ന്റെ rows columns എന്നിവ

പരസ്പരം മാറ്റുമ്പോൾ ആണ്

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

06:11 2D-array.txt ഫയലിൽ ഞാൻ ഒരു two-dimensional array matrix സൃഷ്ടിച്ചു.
06:19 ഞാൻ 'transpose.awk' 'എന്ന പേരിൽ ഒരു കോഡ് എഴുതി
06:24 awk script. ന്റെaction section നോക്കുക.
06:29 ഇവിടെ നമ്മൾ ഒരു row. യിലെ ഫീൽഡുകളുടെ പരമാവധി എണ്ണം കണക്കാക്കുന്നു.

കണക്കാക്കിയ മൂല്യം variable max_nf. എന്നത്ൽ സ്റ്റോർ ചെയ്തു .

06:40 നമുക്കറിയാവുന്നതുപോലെ, NR awk.പ്രോസസ്സ് ചെയ്ത നിലവിലെ റെക്കോർഡുകളുടെ എണ്ണമാണ് ' .

'NR' ന്റെ മൂല്യംmax_nr variable.എന്നത് ൽ സംഭരിച്ചിരിക്കുന്നു.

06:50 Awk ആദ്യrecord മുതൽ അവസാനrecord വരെ input file പ്രോസസ്സ് ചെയ്യും.
06:56 'Awk' ആദ്യത്തെrecord,പ്രോസസ്സ് ചെയ്യുമ്പോൾ,' max_nr ' , ' 1 'ന് തുല്യമായിരിക്കും.
07:03 രണ്ടാമത്തെrecord,പ്രോസസ്സ് ചെയ്യുമ്പോൾ, 'max_nr' '2' ആയിരിക്കും, അത് ഇതേ പോലെ തുടരും.
07:11 'Awk' അവസാനത്തെ റെക്കോർഡ് പ്രോസസ്സ് ചെയ്യുമ്പോൾ, max_nr ആകെ റെക്കോർഡുകളുടെ എണ്ണം സ്റ്റോർ ചെയ്യും .
07:19 ഇപ്പോൾ നമ്മൾ ഇൻപുട്ട് ഫയലിൽ നിന്ന് ഡാറ്റ വായിച്ച് ഡാറ്റ ഒരു two dimensional array.യിലേക്ക് സ്റ്റോർ ചെയ്യണം .
07:26 for loop, 'നുള്ളിൽ,' നമുക്ക്iterator variable x. ഉണ്ട്.
07:31 'x' ഒന്നിൽ നിന്ന് NFഎന്നതു ലേക്ക് ട്രാൻസ്‍വേർസ് ആയി ഓരോiterationനും ശേഷം' 'x' നു 1 വർദ്ധിപ്പിക്കുകയും ചെയ്യും.
07:39 'X' എന്നതിന്റെ ഓരോ മൂല്യത്തിനും x, $x(dollar x) ഫീൽഡ് x- ന്റെ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്നു.
07:46 ആ മൂല്യംarray matrix index NR comma x.ൽ സ്റ്റോർ ചെയ്യും .
07:53 ഉദാഹരണത്തിന്, 1 കോമ 1 ന്റെ മാട്രിക്സ് ഇൻ‌പുട്ട് ഫയലിൽ‌ നിന്നും ഇൻ‌ഡെക്സ് 1 കോമ 1 'ഉള്ള ഒരു മൂല്യം സ്റ്റോർ ചെയുന്നു .
08:02 അതിനാൽ, 'awk' ഈ കോഡ് ഉപയോഗിച്ച് മുഴുവൻinput file ലും പ്രോസസ്സ് ചെയ്ത ശേഷം, matrix array മുഴുവൻ ആയി രൂപപ്പെടും.
08:10 ഇത് input file ന്റെ മുഴുവൻ ഡാറ്റയും two dimensional arrayഫോർമാറ്റിലേക്ക് സ്റ്റോർ ചെയ്യും .
08:16 ഇപ്പോൾ നമുക്ക്END section. നുള്ളിൽ നോക്കാം.
08:20 matrix. ന്റെ ട്രാൻസ്പോസ് പ്രിന്റുചെയ്യാൻ ഞങ്ങൾ ഒരുnested for loop എഴുതി.
08:25 ബേസിക് C programming. യുമായുള്ള നിങ്ങളുടെ പരിചയം ഞാൻ അനുമാനിക്കുന്നു.

അതിനാൽ, കോഡിന്റെ ഈ ഭാഗം ഞാൻ വിശദമായി വിവരിക്കുന്നില്ല.

08:34 കോഡ് വിശദമായി കാണാനും അത് സ്വയം മനസിലാക്കാനും വീഡിയോ ഇവിടെ തല്ക്കാലം നിർത്തുക.
08:40 ഇപ്പോൾ multidimensional array.എങ്ങനെ സ്കാൻ ചെയ്യാമെന്ന് നമ്മൾ പഠിക്കും.
08:45 ശരിക്കു പറഞ്ഞാൽ Awkഎന്നതിനു multi-dimensional array ഇല്ല
08:50 അതിനാൽ,multidimensional array. സ്കാൻ ചെയ്യുന്നതി നു പ്രത്യേക for statement ഉണ്ടാകില്ല .
08:56 ഒരു array.സ്കാൻ ചെയ്യുന്നതിന് നിങ്ങൾക്ക്' multidimensional മാർഗമുണ്ട്.
09:00 ഇതിനായി 'for statement ന്റെ കൂടെ split function യോജിപ്പിക്കാം.
09:05 split function എന്താണെന്ന് നോക്കാം.
split function  ഒരു string മുറിച്ചെടുക്കാനോ വിഭജിക്കാനോ ഉപയോഗിക്കുന്നു.
09:14 കൂടാതെ വിവിധ ഭാഗങ്ങൾ ഒരു array. യിൽ വെയ്ക്കുക .
09:18 സിന്റാകാസ് ഇപ്രകാരമാണ്. ആദ്യത്തെargument വിഭജിക്കേണ്ട stringഅടങ്ങിയിരിക്കുന്നു.
09:25 രണ്ടാമത്തെ'argument 'array യുടെ പേര് വ്യക്തമാക്കുന്നു, ഇവിടെsplit എന്നതിൽ വിഭജിച്ച ഭാഗങ്ങൾ കൊടുക്കും .
09:33 മൂന്നാമത്തെargument separator നെ പരാമർശിക്കുന്നു, അത് string നെ വിഭജിക്കാൻ ഉപയോഗിക്കും.
09:39 ആദ്യത്തെ ഭാഗം 'arr 1' ൽ സ്റ്റോർ ചെയ്യും .
09:43 രണ്ടാമത്തെ ഭാഗം 'Arr 2' എന്നതിലും തുടർന്നും അത് പോലെ .
09:48 ഇതിനകം സൃഷ്ടിച്ച array. യിൽ നിന്ന് indices കളുടെ 'യഥാർത്ഥ സീക്വൻസ് വീണ്ടെടുക്കാൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക.

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

09:56 ഞാൻ 'multi_scan.awk' എന്ന പേരിൽ ഒരു കോഡ് എഴുതി
10:02 മുഴുവൻ കോഡും BEGIN section.നകത്ത് എഴുതിയിരിക്കുന്നു.
10:06 ആദ്യം നമ്മൾ ഒരുa എന്ന് പേരുള്ള array ഉണ്ടാക്കി ഈ മൂല്യങ്ങൾ അതിന് നൽകുകയും ചെയ്തു.
10:12 അതിനുശേഷം നമുക്ക് iterator. ഉള്ള for loop ഉണ്ട്.
10:16 iterator ഓരോ iteration നും ഓരോ 'indices values ലേക്കും സെറ്റ് ചെയ്യും .

'1,1' തുടർന്ന് '1,2' എന്നിവ.

10:27 split function iterator നെ SUBSEP. എന്നതിലൂടെ സെപറേറ്റു ചെയ്ത ചെറിയ ഭാഗങ്ങൾ ആയി വിഭജിക്കുന്നു .
10:34 ഈ ഭാഗങ്ങൾ array arr.എന്നത് ൽ സംഭരിക്കും.
10:38 അതിനാൽ, 'arr [1]' , 'arr [2]' എന്നിവ യഥാക്രമം ഫസ്റ്റ് index സെക്കന്റ് index എന്നിവ ഉൾക്കൊള്ളുന്നു.

നമുക്ക് ഈ ഫയൽ എക്സിക്യൂട്ട് ചെയ്യാം.

10:48 terminal ലേക്ക് മാറി ടൈപ്പ് ചെയുക .awk space hyphen small f space multi underscore scan dot awk


എന്നിട്ട് Enter.അമർത്തുക.

11:01 ഔട്ട്പുട്ട് കാണുക;indices കളുടെ ഒറിജിനൽ സീക്വൻസ് വീണ്ടെടുത്തു.
11:07 നമുക്ക് സംഗ്രഹിക്കാം. ഈ ട്യൂട്ടോറിയലിൽ ഞങ്ങൾ പഠിച്ചതു - awk എന്നതിൽ multidimensional array സൃഷ്ടിച്ചു multidimensional array സ്കാൻ ചെയുക .
11:18 ഒരു അസൈൻ‌മെൻറ് എന്ന നിലയിൽ, ടു ഡിമെൻഷനാൽ അറേ 90 ഡിഗ്രി തിരിക്കുന്നതിന് ഒരു' awk സ്ക്രിപ്റ്റ് എഴുതുക, matrix.പ്രിന്റുചെയ്യുക.
11:28 ഇനിപ്പറയുന്ന ലിങ്കിലെ വീഡിയോ സ്പീച്ച് ട്യൂട്ടോറിയൽ പ്രോജക്റ്റിനെ സംഗ്രഹിക്കുന്നു.

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

11:36 'സ്‌പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്റ്റ്' 'ടീം സ്‌പോക്കൺ ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് വർക്ക്‌ഷോപ്പുകൾ നടത്തുന്നു.

കൂടാതെ ഓൺലൈൻ ടെസ്റ്റു പാസാകുന്നവർക്കു സർട്ടിഫിക്കറ്റുകൾ നൽകുന്നു.

11:45 കൂടുതൽ വിവരങ്ങൾക്ക്, ഞങ്ങൾക്ക് എഴുതുക.
11:49 നിങ്ങളുടെ സമയബന്ധിതമായ ചോദ്യങ്ങൾ ഈ ഫോറത്തിൽ പോസ്റ്റുചെയ്യുക.
11:53 സ്‌പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്ടിന് ധനസഹായം നൽകുന്നത് എൻ‌എച്ച്‌ഇ‌സി‌ടി, എം‌എച്ച്‌ആർ‌ഡി, ഇന്ത്യാ ഗവൺമെന്റ്.

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

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

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

Contributors and Content Editors

Vijinair