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

From Script | Spoken-Tutorial
Revision as of 17:36, 17 July 2019 by Madhurig (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 యొక్క సింట్యాక్స్, Function call మరియు Return statement ల గురించి నేర్చుకుంటాము.
00:17 మనం దీనిని కొన్ని ఉదాహరణల ద్వారా నేర్చుకుందా౦.
00:21 ఈ టుటోరియల్ను రికార్డ్ చేయడం కొరకు నేను Ubuntu Linux 16.04 Operating System మరియు gedit text editor 3.20.1 లను వాడుతున్నాను.
00:34 మీకు నచ్చిన ఏ ఇతర టెక్స్ట్ ఎడిటర్ ను అయినా మీరు ఉపయోగించవచ్చు.
00:38 ఈ ట్యుటొరియల్ ను అభ్యసించడానికి మీకు మా వెబ్సైట్ లోని మునపటి awk ట్యుటొరియల్స్ పై అవగాహన ఉండాలి.
00:45 మీకు ఏదైనా ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ C లేదా C++ లాంటి వాటిపై కనీస అవగాహన ఉండాలి.
00:52 లేదంటే, తత్సంభంధిత ట్యుటొరియల్స్ కొరకు మా వెబ్ సైట్ ని సంప్రదించండి.
00:58 ఈ ట్యుటొరియల్ లో ఉపయోగించిన ఫైల్ లు ఈ ట్యుటొరియల్ పేజ్ లో ఉన్న Code Files లింక్ లో అందుబాటులో ఉన్నాయి. దయచేసి డౌన్లోడ్ చేసి ఎక్స్ ట్రాక్ట్ చేయండి.
01:08 ఇప్పుడు user defined functions గురించి నేర్చుకుందాం. function సింట్యాక్స్ ఈ విధంగా ఉంటుంది.
01:16 మరియు సింట్యాక్స్ స్వీయ‌‌వివరణాత్మకంగా ఉంటుంది.
01:20 ఇక్కడ keyword function అనేది తప్పనిసరి.
01:24 ఒక function ని కాల్ చేయడానికి, function యొక్క పేరు చేత అనుసరించబడే arguments ను పరన్తసిస్ లలో వ్రాయాలి.
01:31 గమనిక: ఫంక్శన్ పేరు మరియు ఆర్గ్యు మెంట్ యొక్క ఓపెన్ పారెంథసెస్ మధ్య స్పేస్ ఉండకూడదు.
01:39 ఇప్పుడు మనం ఒక ఉదాహరణను చూద్దాం.
01:42 మన awkdemo.txt file లో 6 వ ఫీల్డ్ స్టైఫండ్ ని సూచిస్తుంది.
01:47 స్టైఫండ్ అనేది సున్నా లేదా నాలుగంకె లు కలిగిఉండే సంఖ్య అని అనుకో౦డి.
01:54 ఒకవేళ, స్టైఫండ్ 8900 అనుకో౦డి. దానిని ఎనిమిది వేల తొమ్మిది వందలు(8 thousand 9 hundred) అని పదాల్లో ప్రింట్ చేయండి.
02:03 ఒకవేళ స్టైఫండ్ 0 ఐతే, సున్నా (జీరో) అని పదాల్లో టైప్ చేయండి.
02:08 నేను ఇప్పటికే user_function.awk అనే పేరుగల ఫైల్ లో కోడ్ ని రాసి ఉంచాను.
02:15 ఇక్కడ నేను changeit అనే పేరుగల ఫంక్షన్ ని ఒక సింగల్ ఆర్గ్యుమెంట్ argument argval తో రాసాను.
02:23 ఇక్కడ argval అనేది ప్రాథమికంగా మన 6 వ ఫీల్డ్, ఇది స్టైఫండ్.
02:29 ఫంక్షన్ లోపల, కోడ్ ముందుగా argval అనేది జీరోనా కాదా అని పరిశీలిస్తుంది.
02:36 ఒకవేళ అవును ఐతే అది Zero అని పదాలలో ప్రింట్ చేస్తుంది.
02:40 ఒకవేళ కాకపోతే, అప్పుడు కోడ్ యొక్క else భాగం అమలౌతుంది.
02:46 else బాగం లో, ముందుగా మనం substring function ని ఉపయోగించి ప్రతి అంకెను ఒకదాని తర్వాత ఒకటి ఎక్స్ ట్రాక్ట్ చేస్తాం.
02:54 మరియు మనం విలువలని వేర్వెరు ఇండిసెస్ ల వద్ద array a లో నిల్వచేస్తాం.
03:00 ఉదాహరణకి, a[1] అనేది ఎడమ చేతి వైపు నుండి మొదటి అంకె ను లేదా వేలస్థానంలోని అంకెను ఇస్తుంది.
03:08 మనకు కేవలం నాలుగు అంకెలే ఉన్నాయి కాబట్టి నేను నాలుగు ఇండిసెస్ లను ఉపయోగించాను.
03:13 తర్వాత, మనం ఎలిమెంట్లు సున్నాకి సమానం కాదా అని పరిశీలిస్తాం. వాటిని సరైన క్రమం లో ప్రింట్ చేస్తాం.
03:21 చివరికి, మనము అవుట్‌పుట్‌లో కొత్త లైన్ బ్రేక్ ను అందించడానికి, backslash n క్యారెక్టర్ ని ప్రింట్ చేస్తాము.
03:28 తర్వాత awk script లోపల, మనం డాలర్ 2 ని ప్రింట్ చేసాము. ఇది రెండవ ఫీల్డ్ అంటే పేరు.
03:35 తర్వాత మనం function changeit ని పారామీటర్ డాలర్ 6 తో కాల్ చేస్తాం. ఇది స్టైపెండ్.

ఫైల్ ని అమలు చేద్దాం.

03:43 టర్మినల్ కు మారండి.

తరువాత, మీరు cd command ద్వారా డౌన్ లోడ్ చేసి సంగ్రహించిన File ఉన్న ఫోల్డర్ కి వెళ్ళండి.

03:53 ఇప్పుడు క్రింది కమాండ్ ను టైప్ చేసి ఎంటర్ నొక్కండి.
04:00 మనం అనుకున్నట్లు గానే ఔట్ పుట్ వచ్చింది.
04:03 ఒక user-defined function అనేది ఒక return statement ను కూడా కలిగివుండవచ్చు.
04:08 ఈ స్టేట్మెంట్ awk program యొక్క calling విభాగానికి control ని return చేస్తుంది.
04:13 మిగతా awk program కి ఉపయోగపడే విలువని రిటర్న్ చేసేన్దుకు కూడా దీనిని ఉపయోగించవచ్చు.
04:20 ఇది ఇలా కనిపిస్తుంది: return space expression ఇక్కడ expression అనేది ఐచ్చికం.
04:29 మనం ఒక అరే యొక్క యావరేజ్ ని రిటర్న్ చేయడానికి ఒక ఫ౦క్శన్ ను రాద్దాం.
04:34 నేను ఈ కోడ్ ని average.awk ఫైల్ లో రాసాను.

మనం కంటెంట్ లను చూద్దాం.

04:41 మనం ఈ ప్రయోజనం avg అనే పేరుతో ఒక ఫంక్షన్ ని డిఫైన్ చేసాము.
04:46 దీనికి 5 ప్యారామీటర్ లు ఉన్నాయి. arr అనేది లెక్కించాల్సిన average కొరకు array.
04:55 i అనేది array loop variable.
04:58 sum అంటే అన్ని అరే ఏలిమె౦ట్ ల యొక్క సంకలనం.
05:03 n అనేది అరే లో ఉన్న ఎలిమెంట్ ల యొక్క సంఖ్యను సూచిస్తుంది.
05:07 Ret అనేది, function avg నుండి రిటర్న్ కావాల్సిన వేరియబల్ ని సూచిస్తుంది. ret లెక్కించిన సగటు ని నిల్వ చేస్తుంది.
05:17 i ముందు ఉన్న ఎక్స్ ట్రా స్పేస్ అనేది i, sum, n మరియు ret అనే వేరియబుల్స్ లోకల్ వేరియబుల్స్ అని సూచిస్తుంది.
05:27 నిజానికి, local variable అనేవి arguments లా ఉండటానికి ఉద్దేశించినవి కావు.
05:32 మీరు function ను డిక్లేర్ చేసేటప్పుడు ఈ పద్దతి ని అనుసరించాలి.
05:36 for loop లోపల, మనము array elements యొక్క మొత్తం సంఖ్య ను మరియు సంకలనాన్ని లెక్కించాము.
05:43 మనం elements యొక్క మొత్తం సంఖ్యతో సంకలనాన్ని భాగించడం చేత average ను లెక్కించాము. మరియు ఆ విలువను variable ret లో నిల్వ చేసాము.
05:54 ఈ function avg(), వేరియబల్ ret యొక్క విలువని రిటర్న్ చేస్తుంది.
06:01 BEGIN section లోపల, మనము 5 వేర్వేరు సంఖ్యలతో array nums ను నిర్వచించాము.
06:07 print statement లో, మనము function avg()ను ఒక argument తో కాల్ చేస్తాము, ఇది అర్రే పేరు.
06:14 కనుక, మీరు లోకల్ వేరియబుల్స్ ను ఆర్గ్యుమెంట్స్ గా పాస్ చేయవలసిన అవసరం లేదు.
06:20 టర్మినల్ కు తిరిగి మారుదాం. టర్మినల్ ని క్లియర్ చెస్తాను.
06:26 ఈ కింది కమాండ్ ని టైప్ చేయండి: awk స్పేస్ హైఫన్ f స్పెస్ average డాట్ awk ఎంటర్ నొక్కండి.
06:37 మనం అవుట్పుట్ ను 3.6 గా పొందుతాము. మీరు కాలిక్యులేటర్ ఉపయోగించి దాన్ని ధృవీకరించవచ్చు.
06:44 మనం మరో ఉదాహరణ చూద్దాం.
06:47 నేను ఒక స్ట్రింగ్ ని రివర్స్ చేయడానికి నేను ఒక కోడ్ ని వ్రాసి దానికి reverse.awk అనే పేరును పెట్టాను. recursive function అనేది a string ను reverse చేయడానికి ఉపయోగించబడుతుంది.
06:57 వీడియోను ఇక్కడ పాజ్ చేసి కంట్రొల్ ఫ్లో ఎలా ఉందొ అర్థం చేసుకోవడానికి కోడ్‌ను చూడండి.

తరువాత అవుట్పుట్ ను చూడటానికి దాన్ని అమలు చేయండి.

07:07 మీకొక అసైన్మెంట్ awkdemo.txt ఫైల్ లో Roll number ఫీల్డ్ ని రివర్స్ చేయడానికి function rev ను ఉపయోగించండి.
07:16 ఉదాహరణకు రోల్ నంబర్ A001 ఐతే, ఔట్ పుట్ 100A అవ్వాలి.
07:24 దీనికి సంబందించిన కోడ్ Code Files లింక్ లో reverse_roll.awk గా అందించబడుతుంది.
07:31 ఇంతటితో ఈ టుటోరియల్ చివరికి వచ్చాం. సారాంశం చూద్దాం.
07:36 ఈ టుటోరియల్ లో మనం నేర్చుకున్న అంశాలు: function definition యొక్క సింట్యాక్స్.
07:41 ఫంక్శన్ కాల్ మరియు రిటర్న్ స్టేట్మెంట్.
07:45 ఇది మీ అసైన్మెంట్: 1. ఒక 2D matrix యొక్క ట్రాంస్పోస్ ను సృష్టించడానికి ఒక ఫంక్షన్ ను రాయండి.
07:52 ఒక array నుండి కనీస విలువ గల element ను return చేయడానికి ఒక function ను వ్రాయండి.
07:58 ఈ లింక్ వద్ద అందుబాటులో ఉన్న వీడియో స్పోకన్ ట్యుటోరియల్ ప్రాజెక్ట్ యొక్క సారాంశాన్ని ఇస్తుంది. దయచేసి దానిని డౌన్ లోడ్ చేసి చూడండి.
08:06 స్పొకెన్ ట్యుటొరియల్ ప్రాజెక్ట్ వర్క్ శాప్ లను నిర్వహిస్తుంది. ఆన్లైన్ పరీక్షలో పాసైన వారికి సర్టిఫికేట్లను ఇస్తుంది.
08:16 మరింత సమాచారం కోసం మాకు రాయండి.
08:20 దయచేసి మీ సమాయంతో కూడిన సందేహాలను ఈ ఫోరమ్ లో పోస్ట్ చేయండి.
08:24 స్పొకన్ టుటోరియల్ ప్రాజెక్ట్ కి ఎన్ ఎం ఈ ఐ సి టి, ఎం హెచ్ అర్ డి, భారత ప్రభుత్వం నిధులను సమకూర్చుతుంది. ఈ లింక్ లొ ఈ మిషన్ గురించి మరింత సమాచారం ఉంది.
08:36 ఈ ట్యుటొరియల్ ను తెలుగులోకి అనువదించినది కరణం స్రవంతి మరియు నేను ఉదయ లక్ష్మి మీ వద్ద సెలవు తీసుకుంటున్నాను. పాల్గొన్నందుకు ధన్యవాదములు

Contributors and Content Editors

Madhurig, Simhadriudaya