Linux-AWK/C2/Built-in-Functions-in-awk/Tamil

From Script | Spoken-Tutorial
Revision as of 14:37, 6 July 2019 by Jayashree (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:01 Awkல், built-in functionகள் குறித்த ஸ்போகன் டுடோரியலுக்கு நல்வரவு.
00:07 இந்த டுடோரியலில் நாம் பின்வரும் வெவ்வேறு வகை built-in functionகளை பற்றி கற்கப்போகிறோம்- Arithmetic functionகள்
00:15 String functionகள்
00:17 Input/Output functionகள் மற்றும்Time-stamp functionகள்
00:23 இதை சில உதாரணங்கள் மூலம் நாம் செய்வோம்.
00:26 இந்த டுடோரியலை பதிவு செய்ய நான், Ubuntu Linux 16.04 Operating System மற்றும் gedit text editor 3.20.1ஐ பயன்படுத்துகிறேன்.
00:38 உங்களுக்கு விருப்பமான எந்த text editorஐயும் நீங்கள் பயன்படுத்தலாம்.
00:42 இந்த டுடோரியலை பயிற்சி செய்ய, இந்த வலைத்தளத்தில் உள்ள, array பற்றிய முந்தையawk டுடோரியலை நீங்கள் படித்திருக்க வேண்டும்.
00:49 C அல்லதுC++ போன்ற ஏதேனும் ஒரு programming languageன் அடிப்படை பற்றி உங்களுக்கு தெரிந்திருக்கவேண்டும்.
00:56 இல்லையெனில், எங்கள் வலைத்தளத்தில் உள்ள அதற்கான டுடோரியல்களை படிக்கவும்.
01:02 இந்த டுடோரியலில் பயன்படுத்தப்பட்டுள்ள fileகள், இந்த டுடோரியல் பக்கத்தில் உள்ள Code Files இணைப்பில் உள்ளது. அவற்றை தரவிறக்கி, extract செய்துகொள்ளவும்.
01:12 Call செய்வதற்கு, Built-in functionsகள் எப்போதும் awkல் உள்ளன.
01:17 முதலில் நாம் arithmetic functionகளைப் பற்றி கற்போம். square root function (sqrt (x)), ஒரு x எண்ணின் positive square rootஐ return செய்கிறது.
01:27 int function, xஐ ஒரு integer மதிப்பிற்கு வெட்டுகிறது.
01:32 exponential function, xன் exponentialஐ கொடுக்கிறது.
01:37 log function, xன் natural logarithmன் மதிப்பை return செய்கிறது.
01:43 sin மற்றும்cos, sine(x) மற்றும்cosine(x)ஐ முறையே கொடுக்கிறது.
01:49 argument x , radiansல் குறிப்பிடப்பட்டிருக்க வேண்டும் என்பதை கவனிக்கவும்.
01:55 இந்த functionகளை புரிந்துகொள்ள, ஒரு உதாரணத்தை பார்ப்போம்.
02:00 arithmetic underscore function dot awk என்ற fileலில் நான் ஏற்கனவே codeஐ எழுதியுள்ளேன். அது, Code Files இணைப்பில் உள்ளது.
02:10 இங்கு, ஒரு positive மற்றும் negative எண்ணின்square rootஐ முறையே நாம் print செய்கிறோம்.
02:17 அடுத்து, ஒரு positive மற்றும் negative எண்ணிற்கு, integer மதிப்பை முறையே நாம் print செய்கிறோம்.
02:24 பின், ஒரு சிறிய எண் மற்றும் ஒரு பெரிய எண்ணின் exponentialஐ நாம் print செய்கிறோம்.
02:31 அதற்கு பிறகு, positive மற்றும் negative எண்களின் natural logarithm print செய்யப்படுகிறது.
02:38 மேலும், 0.52 radianனின் sine மற்றும் cosine மதிப்புகளை, அதாவது 30 டிகிரியையும் நாம் print செய்கிறோம். Fileஐ terminal.லில் செயல்படுத்துவோம்.
02:50 CTRL, ALT மற்றும் T keyகளை அழுத்தி, terminalஐ திறக்கவும்.
02:55 cd commandஐ பயன்படுத்தி, நீங்கள் தரவிறக்கி, extract செய்த Code Fileகளை வைத்துள்ள folderக்கு செல்லவும்.
03:03 இப்போது, டைப் செய்க: awk space -f space arithmetic_function.awk . பின், outpoutஐ காண Enter ஐ அழுத்தவும்.
03:14 இந்த outputல் இருந்து, சில விஷயங்கள் தெளிவாகின்றன.
03:18 sqrt() function, ஒரு positive எண்ணின் square rootஐ கொடுக்கிறது.
03:23 எண் negativeஆக இருந்தால், அது nan அல்லது not a numberஐ return செய்கிறது.
03:29 int(), ஏதேனும்positive அல்லதுnegative எண்ணின் வெட்டப்பட்ட integerஐ கொடுக்கிறது.
03:36 exp(), ஒரு எண்ணின் exponentialஐ கொடுக்கிறது. எண் மிகப் பெரியதாக இருந்தால், function infஐ return செய்கிறது.
03:47 ஒரு positive எண்ணின்Natural logarithm, log() functionஆல் கொடுக்கப்படுகிறது.
03:53 எண் negativeஆக இருந்தால், function nanஐ return செய்கிறது.
03:58 Sine மற்றும்cosine functionகள், உரிய மதிப்புகளை return செய்கின்றன. உங்கள் கணிப்பு கருவியை பயன்படுத்தி, மதிப்பை நீங்கள் சரிபார்த்துக்கொள்ளலாம்.
04:07 இப்போது, random functionகளை பார்ப்போம்.
04:11 rand(), 0 மற்றும் 1க்கு இடையே உள்ள ஏதேனும் random எண்ணை return செய்கிறது. ஆனால், 0 அல்லது 1ஐ எப்போதும் return செய்யாது.
04:21 ஒரு awk செயல்படுத்துதலுக்குள் உருவாக்கப்பட்ட எண்கள், randomஆக இருக்கும்.
04:27 ஆனால், awk programன் வெவ்வேறு செயல்படுத்துதலின் போது, யூகிக்கக்கூடியதாக இருக்கும்.
04:33 random function.க்கு, seed value xஐ கொடுக்க, srand(x) பயன்படுத்தப்படுகிறது.
04:39 x இல்லாத போது, நாளின் தேதி மற்றும் நேரம், seed value.ஆக பயன்படுத்தப்படுகிறது. இவைகளை, ஒரு உதாரணத்துடன் புரிந்துகொள்வோம்.
04:49 random function க்கு ஒரு codeஐ எழுதி, அதை நான் random.awk என சேமித்துள்ளேன்.
04:56 இங்கு, for loopயினுள், 0 மற்றும் 1க்கு இடையே, rand() function ஒரு random எண்ணை உருவாக்கும்.
05:04 பின், உருவாக்கப்பட்ட எண், 50ஆல் பெருக்கப்பட்டு print செய்யப்படுகிறது.
05:10 அதனால், இந்த code , 50ற்குள், 5 random எண்களை உருவாக்கும்.
05:16 Terminalக்கு மாறி, fileஐ செயல்படுத்தவும். Terminalஐ clear செய்கிறேன்.
05:23 டைப் செய்க: awk space hyphen f space random dot awk. பின், Enter ஐ அழுத்தவும்.
05:31 அது, 5 random எண்களை கொடுப்பதை நாம் காண்கிறோம்.
05:35 நான் மீண்டும் codeஐ செயல்படுத்தினால், என்ன நடக்கும்?
05:39 முன்பு செயல்படுத்தப்பட்ட commandஐ பெற, Up arrow key ஐ அழுத்தவும். பின், Enter ஐ அழுத்தவும்.
05:47 நாம் அதே outputஐ பெறுகிறோம். இதன் பொருள், scriptன் ஒவ்வொரு செயல்படுத்துதலுக்கும், awk random எண்களின் அதே setஐ உருவாக்குகிறது.
05:57 பின், ஒவ்வொரு செயல்படுத்துதலின் போதும், random எண்களின் ஒரு புதிய setஐ எவ்வாறு நாம் பெறுகிறோம்? மீண்டும், codeக்கு மாறவும்.
06:06 For loopக்கு முன்பு, srand() function என டைப் செய்யவும்.
06:11 Fileஐ சேமிக்க, Crtl மற்றும்S keyகளை அழுத்தவும்.
06:16 இப்போது, terminal.க்கு திரும்பவும்.
06:19 முன்பு செயல்படுத்தப்பட்ட commandஐ பெற, Up arrow key ஐ அழுத்தவும். பின், Enter ஐ அழுத்தவும்.
06:27 அது, random எண்களின் ஒரு வேறுபட்ட setஐ கொடுக்கிறது.
06:31 அதனால், ஒருargument இல்லாத srand functionஐ பயன்படுத்தி, random எண்களின் ஒரு புதிய setஐ நாம் உருவாக்கலாம்.
06:40 பெரிய string s1.னுள், string s2 ன் இடத்தை, index function தீர்மானிக்கிறது.
06:57 உதாரணத்திற்கு, index within parentheses இரட்டை மேற்கோள்களினுள்linux comma இரட்டை மேற்கோள்களினுள்n, 3ஐ return செய்கிறது. ஒரு உதாரணத்தை பார்ப்போம்.
07:10 awkdemo.txt fileஐ திறக்கவும்.
07:14 awkdemo.txt லில் உள்ள ஒவ்வொரு மாணவருக்கும், ஒரு 4 digit roll number உள்ளது என்பதை நாம் அறிவோம்.
07:21 தட்டச்சு பிழையினால், digitகளின் ஒரு தவறான எண்ணிக்கையை roll numberகள் பெற்றிருக்கலாம். awk commandகளை பயன்படுத்தி, இவற்றை நாம் எளிதாக கண்டறியலாம்.
07:30 Terminalக்கு மாறவும். Terminalஐ clear செய்கிறேன்.
07:36 இப்போது, இங்கு காட்டப்பட்டுள்ளபடி, command ஐ டைப் செய்யவும். இங்கு, முதல் fieldன் நீளம், 4குக்கு சமமாக உள்ளதா, இல்லையா என்று நாம் சரிபார்க்கிறோம்.
07:46 இல்லையெனில், அந்த குறிப்பிட்ட record print செய்யப்படும். Enter ஐ அழுத்தவும்.
07:53 roll-number S02, தவறாக தச்சடிக்கப்பட்டுள்ளதை பார்க்கவும்.
08:00 மற்ற அனைத்தும் நான்கு digitகளை கொண்டிருக்கும் போது, இது மூன்று digitகளை கொண்டிருக்கிறது.
08:07 substr(s,a,b) function , ஒரு பெரிய string s.ல் இருந்து, ஒரு substring ஐ extract செய்கிறது.
08:14 இப்போது, Parameterகளை நான் விளக்குகிறேன்.
08:17 இங்கு, s என்பது string ஆகும்.
08:20 a என்பது, s ல் extraction தொடங்கும் இடத்தை குறிக்கிறது.
08:26 b, extract செய்யப்படப்போகின்ற characterகளின் எண்ணிக்கையை குறிக்கிறது. ஒரு உதாரணத்தை பார்ப்போம்.
08:33 awkdemo.txt fileக்கு மாறவும்.
08:37 Roll numberகளின் முதல் எழுத்து, குறிப்பிட்ட மாணவர் தங்கியுள்ள Hostel codeஐ குறியீட்டுக்காட்டிகிறது.
08:46 Hostel Aல் தங்கியுள்ள மாணவர்களின் பட்டியலை நாம் கண்டுபிடிக்க வேண்டும் என்று வைத்துக்கொள்வோம் .
08:52 அதைப் பெற, terminalக்கு மாறுவோம்.
08:56 இங்கு காட்டப்பட்டுள்ளபடி, commandஐ டைப் செய்யவும்.
09:00 இங்கு, $1ஆல் குறிக்கப்பட்டுள்ள stringஐ நாம் எடுத்துக்கொள்கிறோம்.
09:05 $1, முதல்fieldஐ குறியிடுகிறது என்பதை நாம் அறிவோம். நமக்கு, அது roll numberஆகும்.
09:12 அடுத்து, characterன் நீளத்தை, one உடன் கூடிய, one இடத்தில் தொடங்குகின்ற ஒரு substringஐ நாம் extract செய்கிறோம்.
09:19 பின் அது, capital Aக்கு சமமாக இருந்தால், பின் fileலில் உள்ள அந்த வரி print செய்யப்படும். Outputஐ காண Enterஐ அழுத்தவும்.
09:29 Hostel Aல் உள்ள மாணவர்களின் பட்டியலை நாம் பெற்றுவிட்டோம்.
09:34 function splitஐ நாம் முன்பே பார்த்துவிட்டோம். அதனால், விவரங்களை நான் இங்கு விளக்கப்போவதில்லை.
09:40 உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால், முந்தைய awk டுடோரியல்களை பார்க்கவும்.
09:45 Input/Outputக்கு தொடர்புடைய, வேறு சில functionகள் உள்ளன. system() function - awkல் உள்ள எந்த unix command ஐயும் run செய்ய உதவி புரிகிறது.
09:56 இப்போது, awk command.ன் மூலமாக, நாம் unix command dateஐ run செய்வோம்.
10:01 Terminalலில், இங்கு காடாப்பட்டுள்ளபடி commandஐ டைப் செய்யவும். பின், Enter ஐ அழுத்தவும்.
10:09 Outputஆக, terminalலில், இன்றைய தேதி மற்றும் நேரம் காட்டப்படுகிறது.
10:15 இது நமக்கு எதற்கு வேண்டும்? awk command. ன் BEGIN பிரிவை மட்டும் நாம் வைத்துள்ளோம்.
10:21 உண்மை உலக சூழ்நிலையில், தேவையான outputஐ காட்டுவதற்கு முன்பு, system date, ஐ நாம் print செய்ய வேண்டியிருக்கும்.
10:28 அப்படியானால், awk command.ல் இருந்து, system commandகளை நாம் செயல்படுத்தவேண்டியிருக்கும்.
10:34 systime(), strftime() போன்ற சில time stampகளை கையாளும் சில functionகள் உள்ளன.
10:43 இந்த functionகளை பற்றி தெரிந்துகொள்ள, இணையத்தை பார்க்கவும்.
10:48 இத்துடன், இந்த டுடோரியலின் முடிவுக்கு நாம் வந்துவிட்டோம். சுருங்கச் சொல்ல.
10:53 இந்த டுடோரியல் நாம் கற்றது- Arithmetic functionகள், String functionகள், Input/Output functionகள் மற்றும்Time stamps functionகள் போன்ற வெவ்வேறு வகை built-in functionகள்.
11:06 பயிற்சியாக- awkdemo.txt fileஐ பயன்படுத்தி , ஒவ்வொரு recordன் இறுதி fieldஐ print செய்ய, ஒரு awk programஐ எழுதவும்.
11:13 இங்கு, மாணவரின் பெயரில், மூன்றாவது எழுத்தாக, சிறிய u இருக்கவேண்டும்.
11:22 பின்வரும் இணைப்பில் உள்ள காணொளி, Spoken Tutorial திட்டத்தை சுருங்கச் சொல்கிறது. அதை தரவிறக்கி காணவும்.
11:30 ஸ்போகன் டுடோரியல் திட்டக்குழு , ஸ்போகன் டுடோரியல்களை பயன்படுத்தி, செய்முறை வகுப்புகள் நடத்தி, இணையத்தில் பரீட்சை எழுதி தேர்வோருக்கு சான்றிதழ்கள் தருகிறது. மேலும் விவரங்களுக்கு, எங்களுக்கு எழுதவும்.
11:43 உங்கள் நேரமிடப்பட்ட கேள்விகளை, இந்த மன்றத்தில் முன்வைக்கவும்.
11:47 ஸ்போகன் டுடோரியல் திட்டத்திற்கு பண ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD, மூலம் கிடைக்கிறது. மேலும் விவரங்களுக்கு, கீழ்கண்ட இணைப்பை பார்க்கவும்.
11:59 இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது ரிஷிதா. கலந்துகொண்டமைக்கு நன்றி.

Contributors and Content Editors

Jayashree