Difference between revisions of "Linux-AWK/C2/Built-in-Variables-in-awk/Malayalam"
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{| border=1 | {| border=1 | ||
| <center>'''Time'''</center> | | <center>'''Time'''</center> | ||
− | | | + | | <center>'''Narration'''</center> |
− | + | |- | |
− | |- | + | |
| 00:01 | | 00:01 | ||
− | | | + | | '''awk built-in variables''' ഉം '''awk script.''' എന്ന സ്പോക്കൺ ട്യൂട്ടോറിയലിലേക്കു സ്വാഗതം. |
− | |- | + | |- |
| 00:07 | | 00:07 | ||
− | | ഈ ട്യൂട്ടോറിയലിൽ | + | | ഈ ട്യൂട്ടോറിയലിൽ, '''Built-in variables ''', '''awk script'''.എന്നിവയെക്കുറിച്ച് നമ്മൾ പഠിക്കും. |
− | + | ||
− | |- | + | |- |
− | | 00: | + | | 00:14 |
− | | | + | | ചില ഉദാഹരണങ്ങളിലൂടെ നമ്മൾ ഇത് ചെയ്യും. |
− | |- | + | |- |
| 00:17 | | 00:17 | ||
− | |''' | + | | ഈ ട്യൂട്ടോറിയൽ റെക്കോർഡുചെയ്യാൻ, ഞാൻ ഇത് ഉപയോഗിക്കുന്നു: |
+ | '''Ubuntu Linux 16.04 Operating System ''' '''gedit text editor''' 3.20.1 | ||
− | |- | + | |- |
− | | 00: | + | | 00:30 |
− | | | + | | ഈ ട്യൂട്ടോറിയലിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഫയലുകൾ ഈ ട്യൂട്ടോറിയൽ പേജിലെ '''Code Files''' ലിങ്കിൽ ലഭ്യമാണ്. |
− | + | അവ ഡൗൺലോഡ് ചെയ്ത് ഉപയോഗിക്കുക. | |
− | + | ||
− | + | ||
− | ''' | + | |- |
+ | | 00:40 | ||
+ | | ഈ ട്യൂട്ടോറിയൽ അഭ്യസിക്കുവാൻ , നിങ്ങൾക്കു ഈ വെബ്സൈറ്റിലെ മുമ്പത്തെ '' 'awk tutorials' 'അറിഞ്ഞിരിക്കണം . | ||
− | |- | + | |- |
− | | 00: | + | | 00:47 |
− | | | + | | ഇല്ലെങ്കിൽ, ദയവായി ഈ വെബ്സൈറ്റിലെ ബന്ധപ്പെട്ട ട്യൂട്ടോറിയലുകൾ കാണുക . |
− | |- | + | |- |
− | | 00: | + | | 00:52 |
− | | | + | | ആദ്യം, നമുക്ക് ' '' awk '' ' '''built-in variables ''' നോക്കാം. |
− | |- | + | |- |
− | | 00: | + | | 00:57 |
− | | ''' | + | | Capital '''RS''' ഒരു'''input''' ഫയലിലെ '''record separator'''ആണ് . ഡീഫാൾട് ആയി , ഇത്'''newline'''. ആണ്. |
− | |- | + | |- |
− | | | + | | 01:07 |
− | | | + | | Capital '''FS''' ഒഒരു'''input''' ഫയലിലെ '''field separator '''ആണ് . |
− | |- | + | |- |
− | | 01: | + | | 01:13 |
− | | | + | | ഡിഫാൾട്ട് ആയി '' 'FS' '' എന്നതിന്റെ മൂല്യം ഒരു '''whitespace'''.ആണ്. |
− | + | |- | |
+ | | 01:18 | ||
+ | | Capital '''ORS''' '' '''output record separator'''.ഡിഫൈൻ ചെയുന്നു . | ||
+ | ഡീഫാൾട് ആയി, ഇത്'''newline''' ആണ്. | ||
− | |- | + | |- |
− | | 01: | + | | 01:27 |
− | |''' | + | | Capital '''OFS''''' '''output field separator'''. നെ ഡിഫൈൻ ചെയുന്നു . |
− | + | ഡിഫാൾട് ആയി ഇത് '''whitespace.'''ആണ്. | |
− | + | ||
− | + | ||
− | + | |- | |
+ | | 01:36 | ||
+ | | ഇവ ഓരോന്നിന്റെയും അർത്ഥം നമുക്ക് മനസ്സിലാക്കാം. | ||
− | |- | + | |- |
− | | 01: | + | | 01:40 |
− | | '' ' | + | | ഇപ്പോൾ നമുക്ക് '' 'awkdemo' '' ഫയൽ നോക്കാം. |
− | |- | + | |- |
− | | 01: | + | | 01:44 |
− | | ''' | + | | ഞങ്ങൾ ഈ '' 'awkdemo' '' ഫയൽ ''''awk' command''', ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യുമ്പോൾ, ഇത് നമ്മുടെ '' ''input '''file.ഫയലായി മാറുന്നു. |
− | |- | + | |- |
− | | 01: | + | | 01:51 |
− | | ''' | + | | എല്ലാ '''record''' കളും പരസ്പരം ഒരു '''newline character'''. കൊണ്ട് വേർതിരിച്ചിട്ടുണ്ടെന്ന് നോക്കുക . |
− | |- | + | |- |
− | | 01: | + | | 01:58 |
− | | ''' | + | | '''newline''' '''record separator RS variable. '''ന്റെ ഡിഫാൾട് മൂല്യം ആണ് . |
− | + | അതിനാൽ, മറ്റൊന്നും ചെയ്യേണ്ടതില്ല | |
− | + | ||
− | + | ||
− | |- | + | |- |
− | | | + | | 02:08 |
− | | | + | | എല്ലാ '''field'''s കളും '''pipe''' ചിഹ്നത്താൽ വേർതിരിച്ചിരിക്കുന്നതായി ശ്രദ്ധിക്കുക. |
− | + | ഇതിനെക്കുറിച്ച് നമുക്ക് എങ്ങനെ '' 'awk' '' എന്നതിനെ അറിയിക്കാൻ കഴിയും? | |
− | + | ||
− | + | ||
− | + | നമുക്ക് നോക്കാം. | |
− | |- | + | |- |
− | | 02: | + | | 02:18 |
− | | | + | | ഡിഫാൾട്ഏ ആയി അത് '''space'''s അല്ലെങ്കിൽ '''tab'''', '''field'''s. നെ വേർതിരിക്കുന്നു. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
|- | |- | ||
− | | 02: | + | | 02:24 |
− | | | + | | നമ്മുടെ മുമ്പത്തെ ട്യൂട്ടോറിയലുകളിൽ പഠിച്ചതുപോലെ '''hyphen capital F'''ഓപ്ഷന്റെ സഹായത്തോടെ നമുക്ക് ഇത് റീസെറ്റ് ചെയ്യാൻ കഴിയും. |
|- | |- | ||
− | | 02: | + | | 02:33 |
− | | ''' | + | | അല്ലെങ്കിൽ, നമുക്ക് ഇത് '''FS''' '''variable''' ഉപയോഗിച്ച് '''BEGIN''' സെക്ഷൻ ൽ റീസെറ്റ് ചെയ്യാൻ കഴിയും. |
+ | |- | ||
+ | | 02:40 | ||
+ | | നമുക്ക് ഇത് ഒരു ഉദാഹരണത്തിലൂടെ നോക്കാം . | ||
− | + | എനിക്ക് 5000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റ് ലഭിക്കുന്ന വിദ്യാർത്ഥികളുടെ പേര് കണ്ടെത്തണമെന്ന് കരുതുക. | |
|- | |- | ||
− | | 02: | + | | 02:51 |
− | | | + | | '' 'CTRL, ALT' '', '' 'T' '' കീകൾ അമർത്തി'''terminal''' തുറക്കുക. |
|- | |- | ||
− | | 02: | + | | 02:57 |
− | | നിങ്ങൾ '' cd '' ' | + | | നിങ്ങൾ '''cd command.''' ഉപയോഗിച്ച് '''Code Files'''ഡൗൺലോഡ് ചെയ്തു എക്സ്ട്രാക്റ്റുചെയ്ത ഫോൾഡർ ലേക്ക് പോകുക |
|- | |- | ||
− | | 03: | + | | 03:04 |
− | | | + | | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പ് ചെയ്യുക. |
− | + | ||
− | + | ||
|- | |- | ||
− | | 03: | + | | 03:08 |
− | | | + | | ഇവിടെ, '''BEGIN''' section,ൽ, '' 'FS' '' ന്റെ മൂല്യം ഒരു '''pipe''' ചിഹ്നമായി നമ്മൾ നൽകി. |
+ | |||
+ | അതുപോലെ, നമുക്ക് '''RS variable.'''മോഡിഫൈ ചെയ്യാനും കഴിയും. | ||
|- | |- | ||
− | | 03: | + | | 03:19 |
− | | | + | | '''command'''. എക്സിക്യൂട്ട് ചെയ്തു '''Enter''' അമർത്തുക . |
|- | |- | ||
| 03:23 | | 03:23 | ||
− | | | + | | സ്റ്റൈപ്പന്റായി 5000 രൂപയിൽ കൂടുതൽ ലഭിക്കുന്ന വിദ്യാർത്ഥികളുടെ ലിസ്റ്റു ഔട്ട്പുട്ട് കാണിക്കുന്നു. |
|- | |- | ||
− | | 03: | + | | 03:30 |
− | | ''' | + | | ഇവിടെ, '''name '''ഫീൽഡ് '''stipend '''ഫീൽഡ് എന്നിവ '''space'''.ഉപയോഗിച്ച് വേർതിരിക്കുന്നു. |
|- | |- | ||
| 03:36 | | 03:36 | ||
− | | '' ' | + | | കൂടാതെ, എല്ലാ'''record'''s ' ' '''newline character.'''കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു.' '' |
− | + | |- | |
+ | | 03:42 | ||
+ | | '''output field separator''' നായി ''' colon''' നമ്മൾ ആഗ്രഹിക്കുന്നു എന്ന് കരുതുക. | ||
+ | |||
+ | ''' output record separator''' ആയി ഡബിൾ '''newline ''' | ||
|- | |- | ||
− | | 03: | + | | 03:52 |
− | | | + | | നമുക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും? നമുക്ക് നോക്കാം. |
|- | |- | ||
− | | 03: | + | | 03:55 |
− | | | + | | മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് '''terminal''',ൽ, '' 'അപ് ആരോ കീ അമർത്തുക. |
|- | |- | ||
− | | | + | | 04:01 |
− | | | + | | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് മോഡിഫൈ ചെയുക . |
− | + | തുടർന്ന് '''Enter.'''അമർത്തുക. | |
|- | |- | ||
− | | 04: | + | | 04:08 |
− | | | + | | ഔട്ട്പുട്ട് ആഗ്രഹിക്കുന്ന ഫോർമാറ്റിൽ നമുക്ക് ലഭിക്കും. |
|- | |- | ||
− | | 04: | + | | 04:12 |
− | | | + | | ഇപ്പോൾ, നമ്മുടെ പുതിയ ഇൻപുട്ട് ഫയൽ '' 'sample.txt ആണെന്ന് കരുതുക. |
|- | |- | ||
− | | 04: | + | | 04:18 |
− | | | + | | ഇവിടെ '''field separator ''' , '''newline ''' എന്നതും '''record separator '''ഡബിൾ '''newline.'''ഉം ആണ് . |
|- | |- | ||
| 04:27 | | 04:27 | ||
− | | | + | | ഈ ഫയലിൽ നിന്ന് നമുക്ക് എങ്ങനെ '''roll no.'''ഉം '''name''' ഉം എക്സ്ട്രാക്റ്റുചെയ്യാനാകും |
+ | |- | ||
+ | | 04:32 | ||
+ | | അതെ, നിങ്ങൾഊഹിച്ചതു ശരി ആണ്''FS''' '''RS''' '''variables'''മോഡിഫൈ ചെയ്യണം . | ||
|- | |- | ||
− | | 04: | + | | 04:39 |
− | | | + | | ഈ ട്യൂട്ടോറിയൽ താൽകാലം നിർത്തി ഇത് ഒരു അസൈൻമെന്റായി ചെയ്യുക. |
+ | |- | ||
+ | | 04:43 | ||
+ | | അടുത്തതായി, മറ്റ്'''built-in variables.''' നമുക്ക് നോക്കാം. | ||
|- | |- | ||
− | | 04: | + | | 04:47 |
− | | '' ' | + | | Capital '''NR''' എന്നത് '' '' 'awk' 'പ്രോസസ്സ് ചെയ്ത റെക്കോർഡുകളുടെ എണ്ണം ' നൽകുന്നു. |
− | + | ||
|- | |- | ||
− | | 04: | + | | 04:53 |
− | | | + | | Capital '''NF''' നിലവിലെ റെക്കോർഡിൽ ഫീൽഡുകളുടെ എണ്ണം നൽകുന്നു. |
|- | |- | ||
− | | 04: | + | | 04:59 |
− | | | + | | ഇതിൽ ഒരു ഉദാഹരണം നോക്കാം. |
+ | |||
+ | ഫയലിൽ അപൂർണ്ണമായ വരികൾ കണ്ടെത്താൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. | ||
|- | |- | ||
− | | 05: | + | | 05:07 |
− | | | + | | ഇവിടെ, പൂർണ്ണമല്ലാത്ത വരി എന്നതു കൊണ്ട് അർത്ഥമാക്കുന്നത് സാധാരണ 6 ഫീൽഡുകളേക്കാൾ കുറവാണ്. |
+ | |||
|- | |- | ||
− | | 05: | + | | 05:13 |
− | | | + | | '' 'ടെർമിനലിലേക്ക് മാറുക. '' 'Ctrl' '', '' 'L' 'കീകൾ അമർത്തി ടെർമിനൽക്ലിയർ ചെയുക . |
|- | |- | ||
− | | 05: | + | | 05:20 |
− | | | + | | കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പ് ചെയ്യുക. |
− | + | ||
|- | |- | ||
− | | 05: | + | | 05:24 |
− | | | + | | ഫീൽഡുകൾ'''pipe ''ചിഹ്നം കൊണ്ട് വേർതിരിക്കുന്നതിനാൽ,'''BEGIN''' സെക്ഷൻ ൽ '''FS''' മൂല്യം '''pipe''' ചിഹ്നമായി സെറ്റു ചെയുക . |
|- | |- | ||
− | | 05: | + | | 05:33 |
− | | | + | | അടുത്തതായി നമ്മൾ '''NF not equal to 6''' എന്ന് എഴുതി . |
+ | |- | ||
+ | | 05:37 | ||
+ | | നിലവിലെ വരിയിലെ ഫീൽഡുകളുടെ എണ്ണം 6 എന്നതിന് തുല്യമല്ലേ എന്ന് ഇത് പരിശോധിക്കുന്നു. | ||
|- | |- | ||
− | | 05: | + | | 05:43 |
− | | | + | | ശരിയാണെങ്കിൽ, '''print''' സെക്ഷൻ എന്ന് സൂചിപ്പിക്കുന്ന മുഴുവൻ ലൈനിനൊപ്പം റെക്കോർഡിന്റെ ലൈൻ നമ്പർ '''NR''' പ്രിന്റ് ചെയ്യും. |
+ | |||
+ | '''Enter''' അമർത്തുക. | ||
|- | |- | ||
− | | 05: | + | | 05:55 |
− | | | + | | '' Out ട്ട്പുട്ട് '' 'ൽ, റെക്കോർഡ് നമ്പർ 16 അപൂർണ്ണമായ റെക്കോർഡാണെന്ന് നമുക്ക് കാണാൻ കഴിയും. |
+ | |||
+ | ഇതിന് 6 ന് പകരം 5 ഫീൽഡുകൾ' മാത്രമേയുള്ളൂ. | ||
|- | |- | ||
− | | | + | | 06:05 |
− | | | + | | നമുക്ക് ഒരു ഉദാഹരണം കൂടി നോക്കാം. |
+ | |||
+ | എത്ര '''fields'''പരിഗണിക്കാതെ തന്നെ ഓരോ വിദ്യാർത്ഥിക്കും ആദ്യത്തേതും അവസാനത്തേതുമായ '''field '''എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? | ||
|- | |- | ||
− | | | + | | 06:16 |
− | | | + | | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ '''terminal'''ൽ കമാൻഡ് ടൈപ്പുചെയ്യുക. |
− | + | |- | |
+ | | 06:21 | ||
+ | | ഇവിടെ നമ്മൾ '''FS''' '''വേരിയബിൾ സെറ്റു ചെയ്യുന്നതിന് പകരം '''hyphen capital F'''ഓപ്ഷൻ ഉപയോഗിച്ചു. | ||
+ | '''Enter'''.അമർത്തുക. | ||
+ | |||
+ | |- | ||
+ | | 06:30 | ||
+ | | ഫയലിലെ ഓരോ റെക്കോർഡിനും നമുക്ക് ആദ്യത്തേതും അവസാനത്തേതുമായ '''fields''' മാത്രമേ ലഭിക്കൂ. | ||
|- | |- | ||
− | | 06: | + | |06:36 |
− | | | + | |ഇപ്പോൾ മറ്റെന്തെങ്കിലും ശ്രമിക്കാം. |
|- | |- | ||
− | | 06: | + | |06:39 |
− | | | + | |'' demo1.txt '' ',' '' demo2।txt '' 'എന്നീ രണ്ട് ഫയലുകളിൽ വിദ്യാർത്ഥികളുടെ റെക്കോഡുകൾ ഉണ്ടെന്നു കരുതുക . |
|- | |- | ||
− | | 06: | + | |06:48 |
− | | | + | |ഈ രണ്ട് ഫയലുകളിൽ നിന്നും ആദ്യത്തെ 3 വരികൾ അച്ചടിക്കാൻ നമ്മൾ ആഗ്രഹിക്കുന്നു. |
+ | |||
+ | '' 'NR' '' വേരിയബിൾ ഉപയോഗിച്ച് നമുക്ക് ഇത് ചെയ്യാം . | ||
|- | |- | ||
− | | 06: | + | |06:57 |
− | | | + | |രണ്ട് ഫയലുകളുടെ കണ്ടെന്റ്സ് ഇതാ. |
|- | |- | ||
− | | | + | |07:02 |
− | | | + | |ഇപ്പോൾ, ഓരോ ഫയലി ലെയും ആദ്യത്തെ 3 വരികൾ പ്രദർശിപ്പിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ്'''terminal.'''ൽ ടൈപ്പ് ചെയ്യുക. |
+ | |- | ||
+ | |07:11 | ||
+ | |'''Enter.''' അമർത്തുക.''' | ||
|- | |- | ||
− | | | + | |07:13 |
− | | | + | |।ഔട്ട്പുട്ട് '' 'demo1।txt' '' ഫയലിന്റെ ആദ്യ 3 റെക്കോർഡുകൾ മാത്രം കാണിക്കുന്നു. |
|- | |- | ||
− | | | + | |07:20 |
− | | | + | |രണ്ടാമത്തെ ഫയലിനും ഇത് എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? |
− | ''' | + | |- |
+ | |07:24 | ||
+ | |'' 'NR' 'എന്നതിനുപകരം' '' FNR '' 'ഉപയോഗിക്കുന്നതാണ് സൊല്യൂഷൻ . | ||
+ | |||
+ | നിലവിലെ ഫയലിലെ '''current record number ''''''FNR''' ആണ് . | ||
|- | |- | ||
− | | | + | |07:34 |
− | | ''' | + | |ഓരോ തവണയും ഒരു പുതിയ റെക്കോർഡ് വായിക്കുമ്പോൾ '' 'FNR' '' വർദ്ധിക്കും. |
|- | |- | ||
− | | | + | |07:39 |
− | | | + | |ഓരോ തവണയും ഒരു പുതിയ ഇൻപുട്ട് ഫയൽ ആരംഭിക്കുമ്പോൾ അത് പൂജ്യമായി വീണ്ടും ഇനിഷ്യലൈസ് ചെയ്യും . |
− | + | |- | |
+ | |07:46 | ||
+ | |പ്രോഗ്രാം എക്സിക്യൂഷൻ ആരംഭിച്ചതുമുതൽ '''awk''' പ്രോസസ്സ് ചെയ്ത ഇൻപുട്ട് റെക്കോർഡുകളുടെ എണ്ണമാണ് '''NR''' | ||
|- | |- | ||
− | | 07: | + | |07:55 |
− | | | + | |ഒരു പുതിയ ഫയൽ ഉപയോഗിച്ച് ഇത് പൂജ്യത്തിലേക്ക് റീ സെറ്റു ചെയ്യുന്നില്ല . |
+ | |||
|- | |- | ||
− | | 07: | + | |07:59 |
− | | '' ' | + | |'''terminal.'''ലേക്ക് മാറുക. |
+ | |||
+ | മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് '''up arrow''' കീ അമർത്തുക. | ||
|- | |- | ||
− | | | + | |08:06 |
− | | | + | |മുമ്പത്തെ കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ മോഡിഫൈ ചെയുക . |
+ | |||
+ | '' 'NR എന്നതിനുപകരം' '' FNR '' 'എന്ന് ടൈപ്പുചെയ്യുക. | ||
|- | |- | ||
− | | | + | |08:14 |
− | | | + | |'''NR,''' നു അടുത്തായി '''Print''' സെക്ഷൻ ൽ, '' 'ടൈപ്പ് ചെയ്യുക '''FNR'''.'''Enter.'''അമർത്തുക. |
− | + | ||
|- | |- | ||
− | | | + | |08:21 |
− | | | + | |നോക്കൂ, നമുക്ക് ഇപ്പോൾ ശരിയായ ഔട്ട്പുട്ട് ലഭിക്കുന്നു. |
− | + | പുതിയ ഫയലിനൊപ്പം '' 'FNR' '' പൂജ്യമായി സെറ്റു ചെയ്തിട്ടു ഉണ്ടെൻകിലും '' 'NR' '' വർദ്ധിച്ചുകൊണ്ടിരിക്കുന്നു. | |
|- | |- | ||
− | | | + | |08:31 |
− | | | + | |ഇനി നമുക്ക് ചില '''built-in variables.''' നോക്കാം. |
− | ''' | + | |
+ | '' 'FILENAME' '' വേരിയബിൾ വായിക്കുന്ന ഫയലിന്റെ പേര് നൽകുന്നു. | ||
|- | |- | ||
− | | | + | |08:40 |
− | | | + | |'' 'ARGC' '' കമാൻഡ് ലൈനിൽ നൽകിയിട്ടുള്ള '''arguments''' കളുടെ എണ്ണം വ്യക്തമാക്കുന്നു. |
|- | |- | ||
− | | 08: | + | |08:46 |
− | | | + | |'' 'ARGV' '' കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റുകൾ സംഭരിക്കുന്ന ഒരു '''array ''' പ്രതിനിധീകരിക്കുന്നു. |
|- | |- | ||
− | | 08: | + | |08:52 |
− | | ''' | + | | '''ENVIRON'''ഷെൽ എൻവയോൺമെൻറ് വേരിയബിളുകളുടെ '''array ''' യും ബന്ധപ്പെട്ട മൂല്യങ്ങളും വ്യക്തമാക്കുന്നു. |
+ | |- | ||
+ | | 09:00 | ||
+ | | '' 'ARGV' ',' '' ENVIRON '' 'എന്നിവ '''awk''', എന്നതി ലെ '''array''' ഉപയോഗിക്കുന്നതിനാൽ നമ്മൾ അവ അടുത്ത ട്യൂട്ടോറിയലിൽ നോക്കും . | ||
|- | |- | ||
− | | | + | | 09:09 |
− | | | + | | നമുക്ക് ഇപ്പോൾ '' 'FILENAME' '' എന്ന വേരിയബിൾ നോക്കാം. |
+ | |||
+ | പ്രോസസ്സ് ചെയ്യുന്ന നിലവിലെ ഫയലിന്റെ പേര് എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? | ||
|- | |- | ||
− | | | + | | 09:18 |
− | | | + | | '''terminal''' ലേക്ക് മാറി കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പുചെയ്യുക. |
+ | |||
|- | |- | ||
− | | | + | | 09:23 |
− | | ''' | + | | ഇവിടെ '''space '''എന്നത് ഒരു '''string concatenation operator.'''ആയി ഉപയോഗിച്ചു.' '' |
+ | |||
+ | command. എക്സിക്യൂട്ട് ചെയ്യാൻ '' 'Enter' '' അമർത്തുക ..... | ||
|- | |- | ||
− | | | + | | 09:32 |
− | | ''' | + | | ഔട്ട്പുട്ട് '''input filename ''' ഒന്നിലധികം തവണ കാണിക്കുന്നു. |
− | + | ||
|- | |- | ||
− | | | + | | 09:37 |
− | | '' ' | + | | കാരണം, ഈ കമാൻഡ് '' 'awkdemo.txt' '' ഫയലിലെ ഓരോ വരിയിലും ഒരു തവണ ഫയൽ നെയിം അച്ചടിക്കുന്നു. |
+ | |||
+ | ഇത് എങ്ങനെ ഒരു തവണ മാത്രം പ്രിന്റുചെയ്യാനാകും? | ||
|- | |- | ||
− | | | + | | 09:48 |
− | | | + | | '''terminal'''. ക്ലിയർ ചെയുക . |
+ | |||
+ | മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് '''up arrow ''' കീ അമർത്തുക. | ||
+ | |||
|- | |- | ||
− | | | + | | 09:55 |
− | | | + | | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ മുമ്പത്തെ കമാൻഡ് പരിഷ്ക്കരിക്കുക. |
+ | |||
+ | Enterഅമർത്തുക. | ||
|- | |- | ||
− | | | + | | 10:02 |
− | | | + | | ഇപ്പോൾ, നമുക്ക് ഒരു തവണ മാത്രമേ ഫയൽ നെയിം ലഭിക്കൂ. |
|- | |- | ||
− | | | + | | 10:06 |
− | | | + | | മറ്റ് ചില '''built-in variables ''' ' '' awk '' 'ൽ ഉണ്ട്. |
+ | |||
+ | അവയെക്കുറിച്ച് കൂടുതലറിയാൻ ദയവായി ഇന്റർനെറ്റ് ബ്രൗസുചെയ്യുക. | ||
|- | |- | ||
− | | | + | | 10:14 |
− | | | + | | വിജയിച്ച 8000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റുമുള്ള വിദ്യാർത്ഥികളെ കണ്ടെത്താൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. |
|- | |- | ||
− | | | + | | 10:22 |
− | | '' ' | + | | '''output field separator'''' ആയി '''comma '''ഉപയോഗിക്കുക.“'''The data is shown for file'''” '''footer section'''. ഫയൽ എന്നിവ പ്രിന്റ് ചെയുക . |
+ | നമുക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും? | ||
|- | |- | ||
− | | | + | | 10:36 |
− | | | + | |'''terminal'''ൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പുചെയ്യുക. |
+ | |||
+ | '''Enter'''അമർത്തുക. | ||
|- | |- | ||
− | | | + | | 10:43 |
− | | | + | | ഒരു വിദ്യാർത്ഥി മാത്രമാണ് വജയിച്ചതെന്നും 8000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റ് കെട്ടിയത് എന്നും നമുക്ക് കാണാം. |
− | + | റെക്കോർഡ് നമ്പർ 2 ആണ്. | |
|- | |- | ||
− | | | + | | 10:53 |
− | | | + | | ഫയലിന്റെ പേര് '''footer''', ൽ നമുക്ക് കാണാം. |
|- | |- | ||
− | | | + | | 10:58 |
− | | | + | | കൂടുതൽ സങ്കീർണ്ണമായ ജോലികൾക്കായി നമുക്ക് '' 'awk' '' ഉപയോഗിക്കാം. |
− | + | ||
|- | |- | ||
− | | | + | | 11:03 |
− | | | + | | അങ്ങനെ എങ്കിൽ ടെർമിനലിൽ ഓരോ തവണയും '''commands'''എഴുതുന്നത് കൂടുതൽ ബുദ്ധിമുട്ടാണ്. |
+ | |||
|- | |- | ||
− | | 09 | + | | 11:09 |
− | | ''' | + | | പകരം നമുക്ക് ഒരു പ്രത്യേക ഫയലിൽ '' 'awk' '' പ്രോഗ്രാം എഴുതാം. |
− | '''awk''' | + | |- |
+ | | 11:14 | ||
+ | | എക്സിക്യൂട്ടു ചെയ്യാൻ , ആ ഫയലിന് '' 'dot awk' '' എക്സ്റ്റൻഷൻ ഉണ്ടായിരിക്കണം. | ||
|- | |- | ||
− | | | + | | 11:19 |
− | | | + | | എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, നമുക്ക് ഈ '' 'awk' '' പ്രോഗ്രാം ഫയൽ നെയിം '' 'awk കമാൻഡ് ഉപയോഗിച്ച് വ്യക്തമാക്കണം . |
|- | |- | ||
− | | | + | | 11:26 |
− | | | + | | അങ്ങനെ ചെയ്യുന്നതിന്, ഞങ്ങൾ '''hyphen small f''' ഓപ്ഷൻ ഉപയോഗിക്കേണ്ടതുണ്ട്. |
+ | നമുക്ക് ഒരു ഉദാഹരണം നോക്കാം. | ||
|- | |- | ||
− | | | + | | 11:35 |
− | | | + | | ഞാൻ ഇതിനകം ഒരു '' 'awk' '' പ്രോഗ്രാം എഴുതി അതിനെ '' 'prog1 dot awk ആയി സേവ് ചെയ്തു . |
+ | |||
|- | |- | ||
− | | | + | | 11:42 |
− | | | + | | ഈ '''code''' '''Code Files''' ലിങ്കിലു ലഭ്യമാണ്. |
|- | |- | ||
− | | | + | | 11:46 |
− | | | + | | '''terminal'''.ക്ക് മാറുക. |
+ | |||
+ | നോക്കൂ, അവസാനമായി എക്സിക്യൂട് ചെയ്ത '''command ''' ന്റെ '''single quotes''' ൽ എന്താണ് എഴുതിയത്? | ||
|- | |- | ||
− | | | + | | 11:55 |
− | | | + | | '' 'Prog1.awk' '' ഫയലിന്റെ കണ്ടന്റ് അതെ പോലെയാണ് . |
|- | |- | ||
− | | | + | | 12:00 |
− | | | + | | ഒരേയൊരു വ്യത്യാസം ഉള്ളത് '' 'awk' '' ഫയലിൽ, '''single quotes.'''കൾക്കുള്ളിൽ നമ്മൾ എഴുതിയിട്ടില്ല. |
|- | |- | ||
− | | | + | | 12:07 |
− | | | + | | ഫയൽ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്,'''terminal-''' ൽ ' ടൈപ്പ് ചെയ്യുക. |
+ | |||
+ | '' 'awk space hyphen small f space prog1.awk space awkdemo.txt' '' എന്നിട്ട് '' 'Enter' '' അമർത്തുക. | ||
|- | |- | ||
− | | | + | | 12:24 |
− | | | + | | മുമ്പ് കണ്ട അതേ ഔട്ട്പുട്ട് നമുക്ക് ലഭിക്കുന്നു. |
|- | |- | ||
− | | | + | | 12:29 |
− | | | + | | അത് കൊണ്ട് ഇതുവഴി നിങ്ങൾക്ക് '' 'awk' '' പ്രോഗ്രാമുകൾ എഴുതാനും ഒന്നിലധികം തവണ ഉപയോഗിക്കാനും കഴിയും. |
− | + | |- | |
+ | | 12:35 | ||
+ | | ഇത് നമ്മെ ഈ ട്യൂട്ടോറിയലിന്റെ അവസാനത്തിലേക്ക് കൊണ്ടുവരുന്നു. | ||
+ | |||
+ | നമുക്ക് സംഗ്രഹിക്കാം. | ||
|- | |- | ||
− | | | + | | 12:40 |
− | | | + | | ഈ ട്യൂട്ടോറിയലിൽ നമ്മൾ പഠിച്ചത്- |
+ | വിവിധ ഉദാഹരണങ്ങൾ ഉപയോഗിചു കൊണ്ട് | ||
+ | '''Built-in variables''', | ||
+ | '''awk script''' എന്നിവ | ||
+ | |||
|- | |- | ||
− | | | + | | 12:48 |
− | | | + | | ഒരു അസൈൻമെന്റായി- |
+ | അഞ്ചാമത്തെ വരിയുടെ അവസാനത്തെ ഫീൽഡ് '' 'awkdemo.txt' '' ഫയലിൽ അച്ചടിക്കുന്നതിന് ഒരു '' 'awk' '' സ്ക്രിപ്റ്റ് എഴുതുക. | ||
+ | |||
|- | |- | ||
− | | | + | | 12:58 |
− | | | + | | '' 'ടെർമിനലിൽ സിസ്റ്റം ഫയൽ' '' / etc / passwd '' 'തുറക്കുക. |
− | + | |- | |
+ | | 13:05 | ||
+ | | അതിലുള്ള എല്ലാ'''separators ''' തിരിച്ചറിയുക. | ||
|- | |- | ||
− | | | + | | 13:09 |
− | | ''' | + | | 20-ാം വരി മുതൽ ഫയൽ പ്രോസസ്സ് ചെയ്യുന്നതിന് ഒരു '''script ''' എഴുതുക. |
− | + | ||
+ | |- | ||
+ | | 13:15 | ||
+ | | അതും 6-ൽ കൂടുതൽ ഫീൽഡുകൾ ഉൾക്കൊള്ളുന്ന വരികൾക്ക് മാത്രം. | ||
+ | |||
+ | |- | ||
+ | | 13:20 | ||
+ | | ആ പ്രത്യേക വരിയിൽ നിങ്ങൾക്കു '''line number''',മുഴുവൻ വരിയും ഫീൽഡുകളുടെ എണ്ണവും അച്ചടിക്കണം. | ||
+ | |||
+ | |- | ||
+ | | 13:28 | ||
+ | | ഇനിപ്പറയുന്ന ലിങ്കിലെ വീഡിയോ '' 'സ്പോക്കൺ ട്യൂട്ടോറിയൽ' '' പ്രോജക്റ്റിനെ സംഗ്രഹിക്കുന്നു. | ||
+ | |||
+ | ഡൗ ലോഡ് ചെയ്ത് കാണുക. | ||
+ | |||
+ | |- | ||
+ | | 13:36 | ||
+ | | സ്പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്റ്റ് ടീം സ്പോക്കൺ ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് വർക്ക്ഷോപ്പുകൾ നടത്തുകയും സർട്ടിഫിക്കറ്റുകൾ നൽകുകയും ചെയ്യുന്നു. | ||
+ | |||
കൂടുതൽ വിവരങ്ങൾക്ക്, ഞങ്ങൾക്ക് എഴുതുക. | കൂടുതൽ വിവരങ്ങൾക്ക്, ഞങ്ങൾക്ക് എഴുതുക. | ||
|- | |- | ||
− | | | + | | 13:47 |
− | | | + | | നിങ്ങളുടെ സമയബന്ധിതമായ ചോദ്യങ്ങൾ ഈ ഫോറത്തിൽ പോസ്റ്റുചെയ്യുക. |
|- | |- | ||
− | | | + | | 13:51 |
− | | സ്പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്ടിന് | + | | സ്പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്ടിന് ധനസഹായം നൽകുന്നത് '' '' എൻഎംഐസിടി, എംഎച്ച്ആർഡി, '' |
− | ഈ മിഷൻ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഈ ലിങ്കിൽ ലഭ്യമാണ്. | + | |
+ | ഈ മിഷൻ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഈ ലിങ്കിൽ ലഭ്യമാണ്. | ||
|- | |- | ||
− | | | + | | 14:03 |
− | | ഇത് | + | | ഇത് ഐഐടി ബോംബെയിൽ നിന്നുള്ള വിജി നായർ . സൈൻ ഓഫ് ചെയ്യുന്നു. |
− | ചേർന്നതിന് നന്ദി | + | |
+ | ചേർന്നതിന് നന്ദി. | ||
|} | |} |
Latest revision as of 11:01, 18 July 2019
|
|
00:01 | awk built-in variables ഉം awk script. എന്ന സ്പോക്കൺ ട്യൂട്ടോറിയലിലേക്കു സ്വാഗതം. |
00:07 | ഈ ട്യൂട്ടോറിയലിൽ, Built-in variables , awk script.എന്നിവയെക്കുറിച്ച് നമ്മൾ പഠിക്കും. |
00:14 | ചില ഉദാഹരണങ്ങളിലൂടെ നമ്മൾ ഇത് ചെയ്യും. |
00:17 | ഈ ട്യൂട്ടോറിയൽ റെക്കോർഡുചെയ്യാൻ, ഞാൻ ഇത് ഉപയോഗിക്കുന്നു:
Ubuntu Linux 16.04 Operating System gedit text editor 3.20.1 |
00:30 | ഈ ട്യൂട്ടോറിയലിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഫയലുകൾ ഈ ട്യൂട്ടോറിയൽ പേജിലെ Code Files ലിങ്കിൽ ലഭ്യമാണ്.
അവ ഡൗൺലോഡ് ചെയ്ത് ഉപയോഗിക്കുക. |
00:40 | ഈ ട്യൂട്ടോറിയൽ അഭ്യസിക്കുവാൻ , നിങ്ങൾക്കു ഈ വെബ്സൈറ്റിലെ മുമ്പത്തെ 'awk tutorials' 'അറിഞ്ഞിരിക്കണം . |
00:47 | ഇല്ലെങ്കിൽ, ദയവായി ഈ വെബ്സൈറ്റിലെ ബന്ധപ്പെട്ട ട്യൂട്ടോറിയലുകൾ കാണുക . |
00:52 | ആദ്യം, നമുക്ക് ' awk ' built-in variables നോക്കാം. |
00:57 | Capital RS ഒരുinput ഫയലിലെ record separatorആണ് . ഡീഫാൾട് ആയി , ഇത്newline. ആണ്. |
01:07 | Capital FS ഒഒരുinput ഫയലിലെ field separator ആണ് . |
01:13 | ഡിഫാൾട്ട് ആയി 'FS' എന്നതിന്റെ മൂല്യം ഒരു whitespace.ആണ്. |
01:18 | Capital ORS output record separator.ഡിഫൈൻ ചെയുന്നു .
ഡീഫാൾട് ആയി, ഇത്newline ആണ്. |
01:27 | Capital OFS output field separator. നെ ഡിഫൈൻ ചെയുന്നു .
ഡിഫാൾട് ആയി ഇത് whitespace.ആണ്. |
01:36 | ഇവ ഓരോന്നിന്റെയും അർത്ഥം നമുക്ക് മനസ്സിലാക്കാം. |
01:40 | ഇപ്പോൾ നമുക്ക് 'awkdemo' ഫയൽ നോക്കാം. |
01:44 | ഞങ്ങൾ ഈ 'awkdemo' ഫയൽ 'awk' command, ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യുമ്പോൾ, ഇത് നമ്മുടെ input file.ഫയലായി മാറുന്നു. |
01:51 | എല്ലാ record കളും പരസ്പരം ഒരു newline character. കൊണ്ട് വേർതിരിച്ചിട്ടുണ്ടെന്ന് നോക്കുക . |
01:58 | newline record separator RS variable. ന്റെ ഡിഫാൾട് മൂല്യം ആണ് .
അതിനാൽ, മറ്റൊന്നും ചെയ്യേണ്ടതില്ല |
02:08 | എല്ലാ fields കളും pipe ചിഹ്നത്താൽ വേർതിരിച്ചിരിക്കുന്നതായി ശ്രദ്ധിക്കുക.
ഇതിനെക്കുറിച്ച് നമുക്ക് എങ്ങനെ 'awk' എന്നതിനെ അറിയിക്കാൻ കഴിയും? നമുക്ക് നോക്കാം. |
02:18 | ഡിഫാൾട്ഏ ആയി അത് spaces അല്ലെങ്കിൽ tab', fields. നെ വേർതിരിക്കുന്നു. |
02:24 | നമ്മുടെ മുമ്പത്തെ ട്യൂട്ടോറിയലുകളിൽ പഠിച്ചതുപോലെ hyphen capital Fഓപ്ഷന്റെ സഹായത്തോടെ നമുക്ക് ഇത് റീസെറ്റ് ചെയ്യാൻ കഴിയും. |
02:33 | അല്ലെങ്കിൽ, നമുക്ക് ഇത് FS variable ഉപയോഗിച്ച് BEGIN സെക്ഷൻ ൽ റീസെറ്റ് ചെയ്യാൻ കഴിയും. |
02:40 | നമുക്ക് ഇത് ഒരു ഉദാഹരണത്തിലൂടെ നോക്കാം .
എനിക്ക് 5000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റ് ലഭിക്കുന്ന വിദ്യാർത്ഥികളുടെ പേര് കണ്ടെത്തണമെന്ന് കരുതുക. |
02:51 | 'CTRL, ALT' , 'T' കീകൾ അമർത്തിterminal തുറക്കുക. |
02:57 | നിങ്ങൾ cd command. ഉപയോഗിച്ച് Code Filesഡൗൺലോഡ് ചെയ്തു എക്സ്ട്രാക്റ്റുചെയ്ത ഫോൾഡർ ലേക്ക് പോകുക |
03:04 | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പ് ചെയ്യുക. |
03:08 | ഇവിടെ, BEGIN section,ൽ, 'FS' ന്റെ മൂല്യം ഒരു pipe ചിഹ്നമായി നമ്മൾ നൽകി.
അതുപോലെ, നമുക്ക് RS variable.മോഡിഫൈ ചെയ്യാനും കഴിയും. |
03:19 | command. എക്സിക്യൂട്ട് ചെയ്തു Enter അമർത്തുക . |
03:23 | സ്റ്റൈപ്പന്റായി 5000 രൂപയിൽ കൂടുതൽ ലഭിക്കുന്ന വിദ്യാർത്ഥികളുടെ ലിസ്റ്റു ഔട്ട്പുട്ട് കാണിക്കുന്നു. |
03:30 | ഇവിടെ, name ഫീൽഡ് stipend ഫീൽഡ് എന്നിവ space.ഉപയോഗിച്ച് വേർതിരിക്കുന്നു. |
03:36 | കൂടാതെ, എല്ലാrecords ' ' newline character.കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു.' |
03:42 | output field separator നായി colon നമ്മൾ ആഗ്രഹിക്കുന്നു എന്ന് കരുതുക.
output record separator ആയി ഡബിൾ newline |
03:52 | നമുക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും? നമുക്ക് നോക്കാം. |
03:55 | മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് terminal,ൽ, 'അപ് ആരോ കീ അമർത്തുക. |
04:01 | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് മോഡിഫൈ ചെയുക .
തുടർന്ന് Enter.അമർത്തുക. |
04:08 | ഔട്ട്പുട്ട് ആഗ്രഹിക്കുന്ന ഫോർമാറ്റിൽ നമുക്ക് ലഭിക്കും. |
04:12 | ഇപ്പോൾ, നമ്മുടെ പുതിയ ഇൻപുട്ട് ഫയൽ 'sample.txt ആണെന്ന് കരുതുക. |
04:18 | ഇവിടെ field separator , newline എന്നതും record separator ഡബിൾ newline.ഉം ആണ് . |
04:27 | ഈ ഫയലിൽ നിന്ന് നമുക്ക് എങ്ങനെ roll no.ഉം name ഉം എക്സ്ട്രാക്റ്റുചെയ്യാനാകും |
04:32 | അതെ, നിങ്ങൾഊഹിച്ചതു ശരി ആണ്FS' RS variablesമോഡിഫൈ ചെയ്യണം . |
04:39 | ഈ ട്യൂട്ടോറിയൽ താൽകാലം നിർത്തി ഇത് ഒരു അസൈൻമെന്റായി ചെയ്യുക. |
04:43 | അടുത്തതായി, മറ്റ്built-in variables. നമുക്ക് നോക്കാം. |
04:47 | Capital NR എന്നത് 'awk' 'പ്രോസസ്സ് ചെയ്ത റെക്കോർഡുകളുടെ എണ്ണം ' നൽകുന്നു. |
04:53 | Capital NF നിലവിലെ റെക്കോർഡിൽ ഫീൽഡുകളുടെ എണ്ണം നൽകുന്നു. |
04:59 | ഇതിൽ ഒരു ഉദാഹരണം നോക്കാം.
ഫയലിൽ അപൂർണ്ണമായ വരികൾ കണ്ടെത്താൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. |
05:07 | ഇവിടെ, പൂർണ്ണമല്ലാത്ത വരി എന്നതു കൊണ്ട് അർത്ഥമാക്കുന്നത് സാധാരണ 6 ഫീൽഡുകളേക്കാൾ കുറവാണ്. |
05:13 | 'ടെർമിനലിലേക്ക് മാറുക. 'Ctrl' , 'L' 'കീകൾ അമർത്തി ടെർമിനൽക്ലിയർ ചെയുക . |
05:20 | കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പ് ചെയ്യുക. |
05:24 | ഫീൽഡുകൾ'pipe ചിഹ്നം കൊണ്ട് വേർതിരിക്കുന്നതിനാൽ,BEGIN സെക്ഷൻ ൽ FS മൂല്യം pipe ചിഹ്നമായി സെറ്റു ചെയുക . |
05:33 | അടുത്തതായി നമ്മൾ NF not equal to 6 എന്ന് എഴുതി . |
05:37 | നിലവിലെ വരിയിലെ ഫീൽഡുകളുടെ എണ്ണം 6 എന്നതിന് തുല്യമല്ലേ എന്ന് ഇത് പരിശോധിക്കുന്നു. |
05:43 | ശരിയാണെങ്കിൽ, print സെക്ഷൻ എന്ന് സൂചിപ്പിക്കുന്ന മുഴുവൻ ലൈനിനൊപ്പം റെക്കോർഡിന്റെ ലൈൻ നമ്പർ NR പ്രിന്റ് ചെയ്യും.
Enter അമർത്തുക. |
05:55 | Out ട്ട്പുട്ട് 'ൽ, റെക്കോർഡ് നമ്പർ 16 അപൂർണ്ണമായ റെക്കോർഡാണെന്ന് നമുക്ക് കാണാൻ കഴിയും.
ഇതിന് 6 ന് പകരം 5 ഫീൽഡുകൾ' മാത്രമേയുള്ളൂ. |
06:05 | നമുക്ക് ഒരു ഉദാഹരണം കൂടി നോക്കാം.
എത്ര fieldsപരിഗണിക്കാതെ തന്നെ ഓരോ വിദ്യാർത്ഥിക്കും ആദ്യത്തേതും അവസാനത്തേതുമായ field എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? |
06:16 | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ terminalൽ കമാൻഡ് ടൈപ്പുചെയ്യുക. |
06:21 | ഇവിടെ നമ്മൾ FS വേരിയബിൾ സെറ്റു ചെയ്യുന്നതിന് പകരം hyphen capital Fഓപ്ഷൻ ഉപയോഗിച്ചു.
Enter.അമർത്തുക. |
06:30 | ഫയലിലെ ഓരോ റെക്കോർഡിനും നമുക്ക് ആദ്യത്തേതും അവസാനത്തേതുമായ fields മാത്രമേ ലഭിക്കൂ. |
06:36 | ഇപ്പോൾ മറ്റെന്തെങ്കിലും ശ്രമിക്കാം. |
06:39 | demo1.txt ',' demo2।txt 'എന്നീ രണ്ട് ഫയലുകളിൽ വിദ്യാർത്ഥികളുടെ റെക്കോഡുകൾ ഉണ്ടെന്നു കരുതുക . |
06:48 | ഈ രണ്ട് ഫയലുകളിൽ നിന്നും ആദ്യത്തെ 3 വരികൾ അച്ചടിക്കാൻ നമ്മൾ ആഗ്രഹിക്കുന്നു.
'NR' വേരിയബിൾ ഉപയോഗിച്ച് നമുക്ക് ഇത് ചെയ്യാം . |
06:57 | രണ്ട് ഫയലുകളുടെ കണ്ടെന്റ്സ് ഇതാ. |
07:02 | ഇപ്പോൾ, ഓരോ ഫയലി ലെയും ആദ്യത്തെ 3 വരികൾ പ്രദർശിപ്പിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ്terminal.ൽ ടൈപ്പ് ചെയ്യുക. |
07:11 | Enter. അമർത്തുക. |
07:13 | ।ഔട്ട്പുട്ട് 'demo1।txt' ഫയലിന്റെ ആദ്യ 3 റെക്കോർഡുകൾ മാത്രം കാണിക്കുന്നു. |
07:20 | രണ്ടാമത്തെ ഫയലിനും ഇത് എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? |
07:24 | 'NR' 'എന്നതിനുപകരം' FNR 'ഉപയോഗിക്കുന്നതാണ് സൊല്യൂഷൻ .
നിലവിലെ ഫയലിലെ current record number 'FNR' ആണ് . |
07:34 | ഓരോ തവണയും ഒരു പുതിയ റെക്കോർഡ് വായിക്കുമ്പോൾ 'FNR' വർദ്ധിക്കും. |
07:39 | ഓരോ തവണയും ഒരു പുതിയ ഇൻപുട്ട് ഫയൽ ആരംഭിക്കുമ്പോൾ അത് പൂജ്യമായി വീണ്ടും ഇനിഷ്യലൈസ് ചെയ്യും . |
07:46 | പ്രോഗ്രാം എക്സിക്യൂഷൻ ആരംഭിച്ചതുമുതൽ awk പ്രോസസ്സ് ചെയ്ത ഇൻപുട്ട് റെക്കോർഡുകളുടെ എണ്ണമാണ് NR |
07:55 | ഒരു പുതിയ ഫയൽ ഉപയോഗിച്ച് ഇത് പൂജ്യത്തിലേക്ക് റീ സെറ്റു ചെയ്യുന്നില്ല . |
07:59 | terminal.ലേക്ക് മാറുക.
മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് up arrow കീ അമർത്തുക. |
08:06 | മുമ്പത്തെ കമാൻഡ് ഇനിപ്പറയുന്ന രീതിയിൽ മോഡിഫൈ ചെയുക .
'NR എന്നതിനുപകരം' FNR 'എന്ന് ടൈപ്പുചെയ്യുക. |
08:14 | NR, നു അടുത്തായി Print സെക്ഷൻ ൽ, 'ടൈപ്പ് ചെയ്യുക FNR.Enter.അമർത്തുക. |
08:21 | നോക്കൂ, നമുക്ക് ഇപ്പോൾ ശരിയായ ഔട്ട്പുട്ട് ലഭിക്കുന്നു.
പുതിയ ഫയലിനൊപ്പം 'FNR' പൂജ്യമായി സെറ്റു ചെയ്തിട്ടു ഉണ്ടെൻകിലും 'NR' വർദ്ധിച്ചുകൊണ്ടിരിക്കുന്നു. |
08:31 | ഇനി നമുക്ക് ചില built-in variables. നോക്കാം.
'FILENAME' വേരിയബിൾ വായിക്കുന്ന ഫയലിന്റെ പേര് നൽകുന്നു. |
08:40 | 'ARGC' കമാൻഡ് ലൈനിൽ നൽകിയിട്ടുള്ള arguments കളുടെ എണ്ണം വ്യക്തമാക്കുന്നു. |
08:46 | 'ARGV' കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റുകൾ സംഭരിക്കുന്ന ഒരു array പ്രതിനിധീകരിക്കുന്നു. |
08:52 | ENVIRONഷെൽ എൻവയോൺമെൻറ് വേരിയബിളുകളുടെ array യും ബന്ധപ്പെട്ട മൂല്യങ്ങളും വ്യക്തമാക്കുന്നു. |
09:00 | 'ARGV' ',' ENVIRON 'എന്നിവ awk, എന്നതി ലെ array ഉപയോഗിക്കുന്നതിനാൽ നമ്മൾ അവ അടുത്ത ട്യൂട്ടോറിയലിൽ നോക്കും . |
09:09 | നമുക്ക് ഇപ്പോൾ 'FILENAME' എന്ന വേരിയബിൾ നോക്കാം.
പ്രോസസ്സ് ചെയ്യുന്ന നിലവിലെ ഫയലിന്റെ പേര് എങ്ങനെ പ്രിന്റുചെയ്യാനാകും? |
09:18 | terminal ലേക്ക് മാറി കാണിച്ചിരിക്കുന്നതുപോലെ കമാൻഡ് ടൈപ്പുചെയ്യുക. |
09:23 | ഇവിടെ space എന്നത് ഒരു string concatenation operator.ആയി ഉപയോഗിച്ചു.'
command. എക്സിക്യൂട്ട് ചെയ്യാൻ 'Enter' അമർത്തുക ..... |
09:32 | ഔട്ട്പുട്ട് input filename ഒന്നിലധികം തവണ കാണിക്കുന്നു. |
09:37 | കാരണം, ഈ കമാൻഡ് 'awkdemo.txt' ഫയലിലെ ഓരോ വരിയിലും ഒരു തവണ ഫയൽ നെയിം അച്ചടിക്കുന്നു.
ഇത് എങ്ങനെ ഒരു തവണ മാത്രം പ്രിന്റുചെയ്യാനാകും? |
09:48 | terminal. ക്ലിയർ ചെയുക .
മുമ്പ് നടപ്പിലാക്കിയ കമാൻഡ് ലഭിക്കുന്നതിന് up arrow കീ അമർത്തുക. |
09:55 | ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ മുമ്പത്തെ കമാൻഡ് പരിഷ്ക്കരിക്കുക.
Enterഅമർത്തുക. |
10:02 | ഇപ്പോൾ, നമുക്ക് ഒരു തവണ മാത്രമേ ഫയൽ നെയിം ലഭിക്കൂ. |
10:06 | മറ്റ് ചില built-in variables ' awk 'ൽ ഉണ്ട്.
അവയെക്കുറിച്ച് കൂടുതലറിയാൻ ദയവായി ഇന്റർനെറ്റ് ബ്രൗസുചെയ്യുക. |
10:14 | വിജയിച്ച 8000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റുമുള്ള വിദ്യാർത്ഥികളെ കണ്ടെത്താൻ നമ്മൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. |
10:22 | output field separator' ആയി comma ഉപയോഗിക്കുക.“The data is shown for file” footer section. ഫയൽ എന്നിവ പ്രിന്റ് ചെയുക .
നമുക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും? |
10:36 | terminalൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പുചെയ്യുക.
Enterഅമർത്തുക. |
10:43 | ഒരു വിദ്യാർത്ഥി മാത്രമാണ് വജയിച്ചതെന്നും 8000 രൂപയിൽ കൂടുതൽ സ്റ്റൈപ്പന്റ് കെട്ടിയത് എന്നും നമുക്ക് കാണാം.
റെക്കോർഡ് നമ്പർ 2 ആണ്. |
10:53 | ഫയലിന്റെ പേര് footer, ൽ നമുക്ക് കാണാം. |
10:58 | കൂടുതൽ സങ്കീർണ്ണമായ ജോലികൾക്കായി നമുക്ക് 'awk' ഉപയോഗിക്കാം. |
11:03 | അങ്ങനെ എങ്കിൽ ടെർമിനലിൽ ഓരോ തവണയും commandsഎഴുതുന്നത് കൂടുതൽ ബുദ്ധിമുട്ടാണ്. |
11:09 | പകരം നമുക്ക് ഒരു പ്രത്യേക ഫയലിൽ 'awk' പ്രോഗ്രാം എഴുതാം. |
11:14 | എക്സിക്യൂട്ടു ചെയ്യാൻ , ആ ഫയലിന് 'dot awk' എക്സ്റ്റൻഷൻ ഉണ്ടായിരിക്കണം. |
11:19 | എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ, നമുക്ക് ഈ 'awk' പ്രോഗ്രാം ഫയൽ നെയിം 'awk കമാൻഡ് ഉപയോഗിച്ച് വ്യക്തമാക്കണം . |
11:26 | അങ്ങനെ ചെയ്യുന്നതിന്, ഞങ്ങൾ hyphen small f ഓപ്ഷൻ ഉപയോഗിക്കേണ്ടതുണ്ട്.
നമുക്ക് ഒരു ഉദാഹരണം നോക്കാം. |
11:35 | ഞാൻ ഇതിനകം ഒരു 'awk' പ്രോഗ്രാം എഴുതി അതിനെ 'prog1 dot awk ആയി സേവ് ചെയ്തു . |
11:42 | ഈ code Code Files ലിങ്കിലു ലഭ്യമാണ്. |
11:46 | terminal.ക്ക് മാറുക.
നോക്കൂ, അവസാനമായി എക്സിക്യൂട് ചെയ്ത command ന്റെ single quotes ൽ എന്താണ് എഴുതിയത്? |
11:55 | 'Prog1.awk' ഫയലിന്റെ കണ്ടന്റ് അതെ പോലെയാണ് . |
12:00 | ഒരേയൊരു വ്യത്യാസം ഉള്ളത് 'awk' ഫയലിൽ, single quotes.കൾക്കുള്ളിൽ നമ്മൾ എഴുതിയിട്ടില്ല. |
12:07 | ഫയൽ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്,terminal- ൽ ' ടൈപ്പ് ചെയ്യുക.
'awk space hyphen small f space prog1.awk space awkdemo.txt' എന്നിട്ട് 'Enter' അമർത്തുക. |
12:24 | മുമ്പ് കണ്ട അതേ ഔട്ട്പുട്ട് നമുക്ക് ലഭിക്കുന്നു. |
12:29 | അത് കൊണ്ട് ഇതുവഴി നിങ്ങൾക്ക് 'awk' പ്രോഗ്രാമുകൾ എഴുതാനും ഒന്നിലധികം തവണ ഉപയോഗിക്കാനും കഴിയും. |
12:35 | ഇത് നമ്മെ ഈ ട്യൂട്ടോറിയലിന്റെ അവസാനത്തിലേക്ക് കൊണ്ടുവരുന്നു.
നമുക്ക് സംഗ്രഹിക്കാം. |
12:40 | ഈ ട്യൂട്ടോറിയലിൽ നമ്മൾ പഠിച്ചത്-
വിവിധ ഉദാഹരണങ്ങൾ ഉപയോഗിചു കൊണ്ട് Built-in variables, awk script എന്നിവ
|
12:48 | ഒരു അസൈൻമെന്റായി-
അഞ്ചാമത്തെ വരിയുടെ അവസാനത്തെ ഫീൽഡ് 'awkdemo.txt' ഫയലിൽ അച്ചടിക്കുന്നതിന് ഒരു 'awk' സ്ക്രിപ്റ്റ് എഴുതുക. |
12:58 | 'ടെർമിനലിൽ സിസ്റ്റം ഫയൽ' / etc / passwd 'തുറക്കുക. |
13:05 | അതിലുള്ള എല്ലാseparators തിരിച്ചറിയുക. |
13:09 | 20-ാം വരി മുതൽ ഫയൽ പ്രോസസ്സ് ചെയ്യുന്നതിന് ഒരു script എഴുതുക. |
13:15 | അതും 6-ൽ കൂടുതൽ ഫീൽഡുകൾ ഉൾക്കൊള്ളുന്ന വരികൾക്ക് മാത്രം. |
13:20 | ആ പ്രത്യേക വരിയിൽ നിങ്ങൾക്കു line number,മുഴുവൻ വരിയും ഫീൽഡുകളുടെ എണ്ണവും അച്ചടിക്കണം. |
13:28 | ഇനിപ്പറയുന്ന ലിങ്കിലെ വീഡിയോ 'സ്പോക്കൺ ട്യൂട്ടോറിയൽ' പ്രോജക്റ്റിനെ സംഗ്രഹിക്കുന്നു.
ഡൗ ലോഡ് ചെയ്ത് കാണുക. |
13:36 | സ്പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്റ്റ് ടീം സ്പോക്കൺ ട്യൂട്ടോറിയലുകൾ ഉപയോഗിച്ച് വർക്ക്ഷോപ്പുകൾ നടത്തുകയും സർട്ടിഫിക്കറ്റുകൾ നൽകുകയും ചെയ്യുന്നു.
കൂടുതൽ വിവരങ്ങൾക്ക്, ഞങ്ങൾക്ക് എഴുതുക. |
13:47 | നിങ്ങളുടെ സമയബന്ധിതമായ ചോദ്യങ്ങൾ ഈ ഫോറത്തിൽ പോസ്റ്റുചെയ്യുക. |
13:51 | സ്പോക്കൺ ട്യൂട്ടോറിയൽ പ്രോജക്ടിന് ധനസഹായം നൽകുന്നത് എൻഎംഐസിടി, എംഎച്ച്ആർഡി,
ഈ മിഷൻ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഈ ലിങ്കിൽ ലഭ്യമാണ്. |
14:03 | ഇത് ഐഐടി ബോംബെയിൽ നിന്നുള്ള വിജി നായർ . സൈൻ ഓഫ് ചെയ്യുന്നു.
ചേർന്നതിന് നന്ദി. |