Difference between revisions of "Linux-AWK/C2/Loops-in-awk/Tamil"
From Script | Spoken-Tutorial
(Created page with "{|border=1 | <center>'''Time'''</center> | <center>'''Narration'''</center> |- |00:01 | '''Awk'''ல் '''Loop'''கள் குறித்த ஸ்போகன் டு...") |
|||
Line 445: | Line 445: | ||
|- | |- | ||
| 12:01 | | 12:01 | ||
− | | இந்த | + | | இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது ரிஷிதா. கலந்துகொண்டமைக்கு நன்றி. |
|} | |} |
Latest revision as of 11:19, 5 July 2019
|
|
00:01 | Awkல் Loopகள் குறித்த ஸ்போகன் டுடோரியலுக்கு நல்வரவு. |
00:06 | இந்த டுடோரியலில் நாம் கற்கப்போவது- Awkல், while, do-while, for மேலும் சில looping constructகள். |
00:16 | இதை சில உதாரணங்கள் மூலம் நாம் செய்வோம். |
00:20 | இந்த டுடோரியலை பதிவு செய்ய நான், Ubuntu Linux 16.04 Operating System மற்றும் gedit text editor 3.20.1ஐ பயன்படுத்துகிறேன். |
00:32 | உங்களுக்கு விருப்பமான எந்த text editorஐயும் நீங்கள் பயன்படுத்தலாம். |
00:36 | இந்த டுடோரியலை பயிற்சி செய்ய, இந்த வலைத்தளத்தில் உள்ள முந்தையawk டுடோரியல்களை நீங்கள் படித்திருக்க வேண்டும். |
00:43 | C அல்லதுC++ போன்ற ஏதேனும் ஒரு programming language, உங்களுக்கு தெரிந்திருக்கவேண்டும். |
00:50 | இல்லையெனில், எங்கள் வலைத்தளத்தில் உள்ள அதற்கான டுடோரியல்களை படிக்கவும். |
00:56 | இந்த டுடோரியலில் பயன்படுத்தப்பட்டுள்ள fileகள், இந்த டுடோரியல் பக்கத்தில் உள்ள Code Files இணைப்பில் உள்ளது. அவற்றை தரவிறக்கி, extract செய்துகொள்ளவும். |
01:06 | ஒன்று அல்லது பல செயல்களை மீண்டும் மீண்டும் செய்ய ஒரு loop நம்மை அனுமதிக்கிறது. |
01:12 | while, do-while மற்றும் for , awkல் உள்ள loopகள் ஆகும். |
01:18 | while loopன் syntaxஐ இங்கு காணலாம். |
01:22 | குறிப்பிடப்பட்டcondition, உண்மையா என்று While loop முதலில் சரிபார்க்கிறது. |
01:27 | உண்மையெனில், பின் body.யினுள் உள்ள codeஐ அது செயல்படுத்துகிறது. குறிப்பிடப்பட்ட while condition , trueஆக இருக்கும் வரை, இந்த loop மீண்டும் மீண்டும் நடத்தப்படும். |
01:37 | நாம் முன்னர் பயன்படுத்திய அதே awkdemo.txt fileஐ பயன்படுத்துவோம். |
01:43 | நான் ஏற்கனவே, while_loop.awk என்று பெயரிடப்பட்ட scriptஐ எழுதியுள்ளேன். |
01:48 | அதே file, இந்த டுடோரியலின் Code Files இணைப்பில் உள்ளது. |
01:53 | இங்கு நாம் Field Separatorஆக Pipe symbolஐ set செய்துள்ளோம். |
01:58 | தொடக்கத்தில், loop variable i ன் மதிப்பை 1க்கு நாம் set செய்யவேண்டும். |
02:04 | இங்கு, f என்ற மேலும் ஒரு variableஐ எடுத்துக்கொண்டு, அதை 1க்கு initialize செய்துள்ளோம். |
02:10 | Variable f, ஒவ்வொரு recordக்கான, field counter அல்லது fieldகளின் இடத்தை குறித்துக்காட்டுகிறது. |
02:17 | இப்போது, while conditionல், i, 3க்கு குறைவாக அல்லது சமமாக இருக்கிறதா என்று நாம் சரிபார்க்கிறோம். |
02:23 | ஆம் எனில், awkdemo.txt fileலில், அந்த recordக்கான மதிப்பை அது, fth fieldல் print செய்கிறது. |
02:31 | பின், நாம் field counter fஐ 1 கூடுதலாக்குவோம். |
02:36 | அதன் பின், loop variable iன் மதிப்பையும் நாம் 1 கூடுதலாக்குவோம். |
02:43 | இந்த printf, ஒவ்வொரு rowன் இறுதியிலும் ஒரு newline characterஐ print செய்வதற்காகும். |
02:49 | awkdemo.txt fileலில் உள்ள எல்லா recordகளுக்கும் இந்த loop செயல்படுத்தப்படும். |
02:55 | இதன் பொருள், ஒவ்வொரு recordக்கும், முதல் 3 fieldகள் print செய்யப்படும். |
03:00 | இந்த codeஐ இப்போது செயல்படுத்துவோம். |
03:03 | CTRL, ALT மற்றும் T keyகளை அழுத்தி, terminalஐ திறக்கவும். |
03:09 | cd commandஐ பயன்படுத்தி, நீங்கள் தரவிறக்கி, extract செய்த Code Fileகளை வைத்துள்ள folderக்கு செல்லவும். |
03:16 | இப்போது டைப் செய்க: awk space hyphen சிறியf space while_loop.awk space awkdemo.txt. Enter.ஐ அழுத்தவும். |
03:29 | Outputல், எல்லா rowக்களின் முதல் 3 fieldகளை நாம் பெறுவதை கவனிக்கவும். |
03:35 | do-while loopக்கும் நாம் இதையே செய்வோம். |
03:38 | do-while loopன் syntaxஐ நாம் இங்கு காணலாம். |
03:42 | Bodyயினுள் இருக்கின்ற codeஐ , do-while loop எப்போதும் ஒரு முறை செயல்படுத்துகிறது. |
03:47 | பின் அது, குறிப்பிடப்பட்ட condition.ஐ சரிபார்க்கிறது. மேலும், குறிப்பிடப்பட்ட condition, trueஆக இருக்கும் வரை, அது bodyயினுள் உள்ள codeஐ மீண்டும் மீண்டும் செய்கிறது. |
03:56 | நான் ஏற்கனவே ஒரு scriptஐ எழுதி, அதற்கு do_loop.awk என பெயரிட்டுள்ளேன். அதே file , Code Files இணைப்பில் உள்ளது. |
04:06 | இந்த codeன், do loop, இனுள் உள்ள இந்த statementகள், முதலில் செயல்படுத்தப்படும். இந்த condition சரிபார்க்கப்படும். |
04:15 | அதற்குப் பிறகு, loop, யினுள் உள்ள statementகள், condition, trueஆக இருக்கும் வரை, மீண்டும் மீண்டும் செயல்படுத்தப்படும். |
04:23 | awkdemo.txt fileலில் உள்ள எல்லா recordகளுக்கும், இந்த loop திரும்ப செய்யப்படும். இதன் பொருள், எல்லா recordகளுக்கும், முதல் 3 fieldகள் print செய்யப்படும். |
04:33 | Terminalக்கு திரும்பவும். நான் terminalஐ clear செய்கிறேன். |
04:38 | இப்போது டைப் செய்க: awk space hyphen சிறியf space do underscore loop dot awk space awkdemo dot txt. Enter.ஐ அழுத்தவும். |
04:52 | நாம் அதே outputஐ பெறுகிறோம். பின், while மற்றும் do-while loopகள் இரண்டையும் நாம் ஏன் கொண்டுள்ளோம்? |
04:58 | அதன் வேறுபாட்டை புரிந்துகொள்வோம். |
05:00 | while underscore loop dot awk fileக்கு மாறவும். |
05:05 | இப்போது, loop counter i ன் மதிப்பை 1ல் இருந்து 4க்கு மாற்றவும். |
05:11 | இது, குறிப்பிடப்பட்ட conditionஐ முதலிருந்து falseஆக வைக்கும். இதன் பொருள், நமக்கு output எதுவும் கிடைக்கக்கூடாது. |
05:19 | Fileஐ சேமித்து, terminalக்கு மாறவும். |
05:22 | Terminalஐ clear செய்யவும். இப்போது, while loop.ஐ செயல்படுத்துவதற்கான commandஐ நீங்கள் பெரும் வரை, Up arrow key ஐ அழுத்தவும். |
05:30 | இப்போது, Enter.ஐ அழுத்தவும். |
05:32 | காலி வரிகளைத் தவிர வேறு எந்த outputஉம் நமக்கு கிடைக்கவில்லை என்பதை நீங்கள் காணலாம். |
05:37 | awkdemo.txt fileலில் உள்ள ஒவ்வொரு recordற்கும், outputல் காலி வரிகள் print செய்யப்படுகின்றன. |
05:44 | இப்போது, do loop fileலில் சில மாற்றங்களை செய்வோம். |
05:48 | do underscore loop dot awk fileக்கு மாறவும். |
05:53 | iன் மதிப்பை 1ல் இருந்து 4க்கு மாற்றவும். |
05:57 | Fileஐ சேமித்து, terminalக்கு மாறவும். |
06:01 | Terminalஐ clear செய்யவும். இப்போது, while loop.க்கான commandஐ நீங்கள் பெறும் வரை, Up arrow key ஐ அழுத்தவும். Enter.ஐ அழுத்தவும். |
06:10 | Outputல், ஒவ்வொரு rowவின் முதல் field மட்டும் print செய்யப்படுகிறது. காரணம் என்ன? |
06:16 | ஒவ்வொரு rowக்கும், முதல் field, ல் உள்ள மதிப்பை print செய்கிறது, ஏனெனில், variable f ன் மதிப்பு 1.க்கு initialize செய்யப்பட்டுள்ளது. பின், condition சரிபார்க்கப்படுகிறது. |
06:28 | loop counter i ன் மதிப்பு 4 ஆதலால், பின் condition , false ஆகிறது. அதனால், அந்த recordற்கு, loop அங்கேயே நிறுத்தப்படுகிறது. |
06:39 | awkdemo.txt fileலில் உள்ள எல்லா recordற்கும், loop திரும்ப செய்யப்படும். |
06:44 | இதன் பொருள், ஒவ்வொரு recordக்குமான முதல் field print செய்யப்படும். |
06:49 | ஒவ்வொரு recordக்கும் குறைந்தபட்சம் ஒருமுறை நாம் outputஐ பெறுகிறோம். |
06:53 | வேறு எந்த conditionஐயும் பொருட்படுத்தாமல், ஒரு வேலையை குறைந்தபட்சம் ஒருமுறை செயல்படுத்துவதற்கு, do-while loop, ஐ பயன்படுத்தவும். |
07:01 | for loopற்கும் இதையே நாம் செய்யலாம். |
07:05 | for loop ன் syntaxஐ நாம் இங்கு காணலாம். |
07:09 | initializationஐ செயல்படுத்துவதிலிருந்து, for statement தொடங்குகிறது. |
07:14 | பின், condition உண்மையாக இருக்கும் வரை, உள்ளுக்குள்ளே statement களை மீண்டும் மீண்டும் அது செயல்படுத்தி, பின் increment செய்கிறது. |
07:23 | உங்களுக்கு, C அல்லதுC++ போன்ற ஒரு language தெரிந்திருக்கும் என்று அனுமானித்துக்கொண்டு, நான் syntaxஐ விவரமாக விளக்கப்போவதில்லை. |
07:30 | இந்த conditionக்கான for loop , இவ்வாறு இருக்கும். |
07:35 | இங்கு, initialization, condition ஐ சரிபார்ப்பது மற்றும் variableஐ அதிகப்படுத்துவது ஒரே வரியில் செய்யப்படுகின்றன. |
07:43 | இதை நீங்களே முயற்சி செய்து பாருங்கள். |
07:46 | break, continue, exit என்று மேலும் சில looping constructகள் உள்ளன. |
07:53 | பின்வரும் டுடோரியல்களில், இவை சம்பந்தமான சில உதாரணங்களை பார்ப்போம். |
07:58 | ஒற்றை அல்லது பல commentகளை நாம் நமது fileலில் கொண்டிருக்கலாம். |
08:03 | இங்கு, ஒற்றை hash (#) symbol.இனால், ஒற்றை வரி commentகள் declare செய்யப்பட்டுள்ளதை நீங்கள் கவனிக்கலாம். |
08:10 | பல வரி commentகள், இரட்டை hash (##) குறியீட்டின் உதவியால் declare செய்யப்பட்டுள்ளன. |
08:16 | இப்போது, இந்த commentகளை சரிப்பார்ப்பதற்கும், outputல் print செய்வதற்குமான அவசியம் இல்லை. |
08:22 | hash (##) குறியுடன் தொடங்குகின்ற வரிகளை நாம் தவிர்க்க வேண்டும். இதை எப்படி நாம் செய்யலாம்? |
08:28 | 8000க்கும் மேல் உதவித்தொகை பெருகின்றவற்கு, 50 சதவிகிதம் உயர்வு கொடுக்கின்ற உதாரணத்தை நினைவு கூறவும். |
08:36 | Commentகளை தவிர்க்க, அதே உதாரணத்தை நாம் பயன்படுத்துவோம். |
08:40 | இந்த செயல்படுத்துதலுக்கு, இங்கு காட்டப்பட்டுள்ளபடி நான், next.awk என்று பெயரிடப்பட்ட ஒரு fileஐ உருவாக்கியுள்ளேன். |
08:47 | இப்போது, இந்த commandன் பொருள் என்ன? |
08:50 | ஒவ்வொரு வரியின் தொடக்கத்திலும் awk, caret குறியீடுhash symbol(^#) படிவத்தை தேடும். |
08:57 | படிவம் கிடைத்துவிட்டால், உடனடியாக தற்போதைய வரியை தவிர்க்கவேண்டும் என்று keyword next , awkக்கு சொல்லும். |
09:04 | பின் awk, fileன் அடுத்த வரியிலிருந்து process செய்யத்தொடங்கும். இது, process செய்கின்ற நேரத்தை குறைக்கும். |
09:12 | Terminalக்கு மாறி, இங்கு காட்டப்பட்டுள்ளபடி commandஐ டைப் செய்து, பின் Enter.ஐ அழுத்தவும். |
09:20 | Commentகள் இல்லாத outputஐ நாம் பெறுகிறோம். |
09:24 | மாணவர்களின் recordகளை, பல fileகளில், அதே formatஉடன் நாம் கொண்டிருக்கிறோம் என்று வைத்துக்கொள்வோம். அதாவது, awkdemo_mod.txt மற்றும்awkdemo2.txt. |
09:37 | இது, நமது முந்தைய fileஉடன் ஒத்திருப்பதை காணவும். |
09:41 | Commentகளுக்கு முன்பு, hash குறியீட்டையும் அது கொண்டிருக்கிறது. |
09:45 | மேலும், இறுதியில்hash ## குறியுடன் பெரிய text ஐ அது கொண்டிருக்கிறது |
09:50 | அதனால், நமது data , இரண்டு வெவ்வேறு fileகளில் உள்ளது. எல்லா மாணவர்களுக்கும் ஒரு சம்பள உயர்வை கொடுக்க, awk இரண்டு fileகளையும் process செய்யவேண்டும். |
09:59 | நாம் முதல் fileன் இரட்டைhash(##) குறியீட்டை அடைந்தவுடன், அந்த fleஐ process செய்வதை, awk முழுமையாக நிறுத்தவேண்டும். |
10:06 | பின், அடுத்த fileலில் இருந்து, அது செயல்படுத்துதலை தொடங்கவேண்டும். இது process செய்கின்ற நேரத்தை குறைக்கும். |
10:13 | இங்கு காட்டப்பட்டுள்ளபடி, next.awk ஐ மாற்றவும். |
10:17 | Begin statementக்கு கீழ், dollar பூஜ்யம் tilde slash caret குறியீடு இரட்டைhash slash அடைப்புக்குறிகளினுள்nextfile semicolon ஐ நான் சேர்த்துள்ளேன். |
10:29 | இது, ஒவ்வொரு வரியின் தொடக்கத்திலும் இரட்டைhash # குறியீட்டை தேடும். |
10:34 | அதை கண்டுபிடித்தால், அடுத்த fileஐ process செய்ய, அது தற்போதைய fileஐ தவிர்த்துவிடும். |
10:39 | இந்த fileஐ சேமிக்கவும். |
10:41 | Terminalக்கு மாறி, பின்வரும் commandஐ டைப் செய்யவும். Enter.ஐ அழுத்தவும். |
10:48 | இரண்டு fileகளிலிருந்தும் outputஐ பெறுவதை நாம் காணலாம். |
10:53 | இத்துடன் நாம் இந்த டுடோரியலின் முடிவுக்கு வந்துவிட்டோம். சுருங்கச் சொல்ல. |
10:58 | இந்த டுடோரியல் நாம் கற்றது- Awkல், while, do… while, for, next, nextfile . |
11:06 | பயிற்சியாக, awkdemo2.txtன் மாணவரின் recordகளுக்கு, even fieldகளை மட்டும் print செய்யவும். அதாவது, field 2, field 4 போன்றவை, input fileலில் உள்ள fieldகளின் எண்ணிக்கையை பொருட்படுத்தாமல். |
11:22 | பின்வரும் இணைப்பில் உள்ள காணொளி, Spoken Tutorial திட்டத்தை சுருங்கச் சொல்கிறது. அதை தரவிறக்கி காணவும். |
11:30 | ஸ்போகன் டுடோரியல் திட்டக்குழு , ஸ்போகன் டுடோரியல்களை பயன்படுத்தி, செய்முறை வகுப்புகள் நடத்தி, இணையத்தில் பரீட்சை எழுதி தேர்வோருக்கு சான்றிதழ்கள் தருகிறது. |
11:43 | இந்த ஸ்போகன் டுடோரியலில் உங்களுக்கு ஏதேனும் கேள்விகள் உள்ளதா? இந்த தளத்தை பார்க்கவும். |
11:49 | ஸ்போகன் டுடோரியல் திட்டத்திற்கு பண ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD, மூலம் கிடைக்கிறது. மேலும் விவரங்களுக்கு, கீழ்கண்ட இணைப்பை பார்க்கவும். |
12:01 | இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது ரிஷிதா. கலந்துகொண்டமைக்கு நன்றி. |