Linux-AWK/C2/User-Defined-Functions-in-awk/Tamil

From Script | Spoken-Tutorial
Revision as of 18:33, 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ல், User-defined functionகள் குறித்த ஸ்போகன் டுடோரியலுக்கு நல்வரவு.
00:07 இந்த டுடோரியலில் நாம் கற்கப்போவது- function definitionனின் syntax, Function call மற்றும் Return statement.
00:17 இதை சில உதாரணங்கள் மூலம் நாம் செய்வோம்.
00:21 இந்த டுடோரியலை பதிவு செய்ய நான், Ubuntu Linux 16.04 Operating System மற்றும் gedit text editor 3.20.1ஐ பயன்படுத்துகிறேன்.
00:34 உங்களுக்கு விருப்பமான எந்த text editorஐயும் நீங்கள் பயன்படுத்தலாம்.
00:38 இந்த டுடோரியலை பயிற்சி செய்ய, இந்த வலைத்தளத்தில் உள்ள, முந்தையawk டுடோரியல்களை நீங்கள் படித்திருக்க வேண்டும்.
00:45 C அல்லதுC++ போன்ற ஏதேனும் ஒரு programming language பற்றி உங்களுக்கு தெரிந்திருக்கவேண்டும்.
00:52 இல்லையெனில், எங்கள் வலைத்தளத்தில் உள்ள அதற்கான டுடோரியல்களை படிக்கவும்.
00:58 இந்த டுடோரியலில் பயன்படுத்தப்பட்டுள்ள fileகள், இந்த டுடோரியல் பக்கத்தில் உள்ள Code Files இணைப்பில் உள்ளது. அவற்றை தரவிறக்கி, extract செய்துகொள்ளவும்.
01:08 இப்போது, user defined functionகளை பற்றி கற்போம். function னின் syntax பின்வருமாறு.
01:16 மேலும், syntax சுய விளக்கம் கொண்டதாகும்.
01:20 இங்கு, keyword function கட்டாயமானதாகும்.
01:24 ஒரு functioncall செய்ய, function, னின் பெயரை பின்தொடர்ந்து, அடைப்புக்குறிகளினுள் argumentகளை எழுதவும்.
01:31 Functionனின் பெயர் மற்றும் open parenthesesனுள் உள்ள argument.க்கும் இடையே, space அனுமதிக்கப்படமாட்டாது.
01:39 ஒரு உதாரணத்தை இப்போது பார்ப்போம்.
01:42 நமது awkdemo.txt fileலில், ஆறாவதுfield, stipendஐ குறித்துக்காட்டுகிறது.
01:47 stipend , பூஜ்யம் அல்லது நான்கு digitகளை கொண்டிருப்பதாக அனுமானித்துக்கொள்ளவும் .
01:54 stipend , 8900 என்று வைத்துக்கொள்வோம். அதை , எட்டாயிரத்து தொள்ளாயிரம் என்று சொற்களில் எழுதவும்.
02:03 Stipend, 0 எனில், அதை பூஜ்யம் என்று சொற்களில் எழுதவும்.
02:08 நான், user_function.awk என்று பெயரிடப்பட்ட ஒரு fileலில், ஏற்கனவே codeஐ எழுதியுள்ளேன்.
02:15 இங்கு, ஒரு ஒற்றை argument argval. உடன், changeit என்று பெயரிடப்பட்ட ஒரு function ஐ நான் எழுதியுள்ளேன்.
02:23 இங்கு, argval என்பது நமது ஆறாவதுfield , அதாவதுstipend ஆகும்.
02:29 Functionனுள் உள்ள முதல்code, argval zeroஆக உள்ளதா, இல்லையா என்று சரிப்பார்க்கும்.
02:36 ஆம் எனில், அது “Zero”ஐ சொற்களில் print செய்யும்.
02:40 இல்லை எனில், பின், codeன் else பகுதி செயல்படுத்தப்படும்.
02:46 Else பகுதியில், முதலில், substring function.ஐ பயன்படுத்தி, ஒவ்வொரு digitஐயும், ஒன்றன் பின் ஒன்றாக, நாம் extract செய்வோம்.
02:54 மற்றும், வெவ்வேறு indexகளில், ஒரு array a ல், நாம் மதிப்புகளை சேமிப்போம்.
03:00 உதாரணத்திற்குa[1] , இடது பக்கத்திலிருந்து முதல்digit அல்லது thousand’s place digit.ஐ கொடுக்கும்.
03:08 நாம் நான்கு digitகளை மட்டும் கொண்டிருப்பதனால், நான் நான்கு indexகளை பயன்படுத்தியுள்ளேன்.
03:13 அடுத்து, elementகள், பூஜ்யத்திற்கு சமமாக இல்லாமல் இருக்கிறதா என்று சரிபார்ப்போம். மேலும், அவற்றை சரியான வரிசையில் print செய்வோம்.
03:21 இறுதியில், outputல் ஒரு புதிய line breakஐ கொடுக்க, ஒரு backslash n characterஐ நாம் print செய்கிறோம்.
03:28 பின், awk scriptனுள், நாம் இரண்டாவது field ஆன, dollar 2, அதாவது nameஐ print செய்துள்ளோம்.
03:35 பின் parameter dollar 6,, அதாவது stipendஉடன், நாம் function changeit ஐ call செய்கிறோம். Fileஐ செயல்படுத்துவோம்.
03:43 Terminalக்கு மாறவும். அடுத்து, cd commandஐ பயன்படுத்தி, நீங்கள் தரவிறக்கி, extract செய்த Code Fileகளை வைத்துள்ள folderக்கு செல்லவும்.
03:53 இப்போது, பின்வரும் command ஐ டைப் செய்து, Enter.ஐ அழுத்தவும்.
04:00 நாம் எதிர்பார்த்த outputஐ பெறுகிறோம்.
04:03 ஒரு user-defined function , ஒரு return statement. ஐயும் சேர்க்கலாம்.
04:08 இந்த statement , awk programன் calling பகுதிக்கு control ஐ return செய்கிறது.
04:13 மீதமுள்ள awk program. ன் பயன்பாட்டிற்கு, ஒரு மதிப்பை return செய்யவும் இதை பயன்படுத்தலாம்.
04:20 அது பார்ப்பதற்கு, இவ்வாறு இருக்கும்: return space expression. இங்கு expression பகுதி, கட்டாயமற்றதாகும்.
04:29 ஒரு arrayன் average ஐ return செய்ய, ஒரு function ஐ எழுதுவோம்.
04:34 நான் average.awk fileலில், codeஐ எழுதியுள்ளேன். அதன் உள்ளடக்கத்தை இப்போது பார்ப்போம்.
04:41 இந்த நோக்கத்திற்கு, avg என்று பெயரிடப்பட்ட ஒரு functionஐ நாம் வரையறுத்துள்ளோம்.
04:46 அது, ஐந்து parameterகளை கொண்டிருக்கிறது. arr என்ற arrayக்கு நாம், averageஐ கணக்கிடவேண்டும்.
04:55 i, array loop variable. ஆகும்.
04:58 sum, எல்லா array elementகளின் ஒரு கூட்டல் ஆகும்.
05:03 n, array.ல் உள்ள elementகளின் எண்ணிக்கையை குறிப்பிடுகிறது.
05:07 ret, function avg.ல் இருந்து return செய்யப்படவேண்டிய variable ஐ குறியீட்டு காட்டுகிறது. ret, கணக்கிடப்பட்ட averageஐ சேமிக்கும்.
05:17 iக்கு முன் உள்ள கூடுதல் space, variables i, sum, n மற்றும் ret , local variableகள் ஆகும் என்பதை குறிப்பிடுகிறது.
05:27 உண்மையாக, local variableகள், argumentகளாக இருக்கக்கூடாது.
05:32 Functionகளை வரையறுக்கும் போது, இந்த பழக்கத்தை நீங்கள் பின்பற்ற வேண்டும்.
05:36 For loopனுள், நாம் array elementகளின் மொத்த எண்ணிக்கை மற்றும் கூட்டலை கணக்கிட்டுள்ளோம்.
05:43 கூட்டலை, array elementகளின் மொத்த எண்ணிக்கையால் வகுத்து, நாம் average ஐ கணக்கிட்டுள்ளோம். மேலும், அந்த மதிப்பை variable ret.ல் சேமித்துள்ளோம்.
05:54 இந்த function avg() , variable ret.ன் மதிப்பை return செய்கிறது.
06:01 BEGIN section, னுள், ஐந்து வெவ்வேறு எண்களுடன், நாம் array nums ஐ வரையறுத்துள்ளோம்.
06:07 print statementல், ஒரு argument, அதாவது, array name.உடன் நாம், function avg() ஐ call செய்கிறோம்.
06:14 அதனால், local variableகளை, argumentகளாக நீங்கள் pass செய்யவேண்டாம்.
06:20 Terminalக்கு திரும்பவும். நான் terminalஐ clear செய்கிறேன்.
06:26 பின்வரும் commandஐ டைப் செய்யவும்- awk space hyphen f space average dot awk. Enterஐ அழுத்தவும்.
06:37 Outputஐ 3.6ஆக நாம் பெறுகிறோம். நீங்கள் ஒரு கணிப்பொறியை பயன்படுத்தி, அதை உறுதி செய்துகொள்ளலாம்.
06:44 மேலும் ஒரு உதாரணத்தை பார்ப்போம்.
06:47 ஒரு string reverse செய்ய, ஒரு codeஐ நான் எழுதி, அதற்கு reverse.awk என பெயரிட்டுள்ளேன். recursive function , ஒரு string.reverse செய்ய பயன்படுகிறது.
06:57 காணொளியை, இங்கு இடைநிறுத்தி, control எப்படி செல்கிறது என்பதை புரிந்துகொள்ள codeஐ பார்க்கவும். பின், outputஐ பார்க்க, அதை செயல்படுத்தவும்.
07:07 பயிற்சியாக, awkdemo.txt file.லில் உள்ள Roll number field reverse செய்ய, function revஐ பயன்படுத்தவும்.
07:16 உதாரணத்திற்குroll number, A001ஆக இருந்தால்output, 100A.ஆக இருக்கவேண்டும்.
07:24 இதற்கான code, Code Files இணைப்பில் reverse_roll.awkஆக கொடுக்கப்பட்டுள்ளது.
07:31 இத்துடன், இந்த டுடோரியலின் முடிவுக்கு நாம் வந்துவிட்டோம். சுருங்கச் சொல்ல.
07:36 இந்த டுடோரியல் நாம் கற்றது- function definitionனின் syntax,
07:41 Function call மற்றும் Return statement.
07:45 பயிற்சியாக- 1. ஒரு 2D matrix.ன் transpose ஐ உருவாக்க, ஒரு function ஐ எழுதவும்.
07:52 ஒரு arrayல் இருந்து, குறைந்தபட்ச மதிப்பு element ஐ return செய்ய, ஒரு function ஐ எழுதவும்.
07:58 பின்வரும் இணைப்பில் உள்ள காணொளி, Spoken Tutorial திட்டத்தை சுருங்கச் சொல்கிறது. அதை தரவிறக்கி காணவும்.
08:06 ஸ்போகன் டுடோரியல் திட்டக்குழு , ஸ்போகன் டுடோரியல்களை பயன்படுத்தி, செய்முறை வகுப்புகள் நடத்தி, இணையத்தில் பரீட்சை எழுதி தேர்வோருக்கு சான்றிதழ்கள் தருகிறது.
08:16 மேலும் விவரங்களுக்கு, எங்களுக்கு எழுதவும்.
08:20 உங்கள் நேரமிடப்பட்ட கேள்விகளை, இந்த மன்றத்தில் முன்வைக்கவும்.
08:24 ஸ்போகன் டுடோரியல் திட்டத்திற்கு பண ஆதரவு, இந்திய அரசாங்கத்தின், NMEICT, MHRD, மூலம் கிடைக்கிறது. மேலும் விவரங்களுக்கு, கீழ்கண்ட இணைப்பை பார்க்கவும்.
08:36 இந்த டுடோரியலை தமிழாக்கம் செய்தது ஜெயஸ்ரீ, குரல் கொடுத்தது ரிஷிதா. கலந்துகொண்டமைக்கு நன்றி.

Contributors and Content Editors

Jayashree