Linux-AWK/C2/User-Defined-Functions-in-awk/Telugu
From Script | Spoken-Tutorial
|
|
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 | ఈ ట్యుటొరియల్ ను తెలుగులోకి అనువదించినది కరణం స్రవంతి మరియు నేను ఉదయ లక్ష్మి మీ వద్ద సెలవు తీసుకుంటున్నాను. పాల్గొన్నందుకు ధన్యవాదములు |