Linux-AWK/C2/Loops-in-awk/Telugu

From Script | Spoken-Tutorial
Revision as of 12:27, 17 July 2019 by Madhurig (Talk | contribs)

Jump to: navigation, search
Time
Narration
00:01 awk లోని Loops పై స్పొకెన్ ట్యుటోరియల్ కు స్వాగతం.
00:06 ఈ ట్యుటోరియల్ లో మనం while, do-while, for ఇంకా awk లో అనేక looping constructs గురించి నేర్చుకుంటాం.
00:16 దీనిని మనం కొన్ని ఉదాహారణలతో చేద్దాం.
00:20 ఈ ట్యుటోరియల్ను రెకార్డ్ చేయడానికి నేను ఉబంటులినక్స్ 16.04 ఆపరేటింగ్ సిస్టం మరియు జిఎడిట్ టెక్స్ట్ ఎడిటర్ 3.20.1 ని ఉపయోగిస్తున్నాను.
00:32 మీకు నచ్చిన ఏ టెక్స్ట ఎడిటర్ ను అయినా మీరు ఉపయోగించవచ్చు.
00:36 ఈ ట్యుటొరియల్ ను అభ్యసించడానికి మీకు మా వెబ్సైట్ లోని మునుపటి awk ట్యుటోరియల్స్ పై అవగాహన ఉండాలి.
00:43 మీకు ఏదైనా ఒక ప్రోగ్రామింగ్ భాశ C లేదా C++ లాంటి వాటిపై కనీస అవగాహన ఉండాలి.
00:50 లేదంటే, తత్సంభంద ట్యుటొరియల్ కొరకు మా వెబ్ సైట్ ని సంప్రదించండి.
00:56 ఈ ట్యుటొరియల్ లో ఉపయోగించిన ఫైల్ లు ఈ ట్యుటొరియల్ పేజ్ లో ఉన్నCode Files లింక్ లో అందుబాటులో ఉన్నాయి. దయచేసి డౌన్లోడ్ చేసి ఎక్స్ట్రాక్ట్ చేయండి.
01:06 ఒక loop మనకు ఒకటి లేదా అంతకంటే ఎక్కువ చర్యను మళ్ళీ మళ్ళీ చేయడానికి అనుమతిస్తుంది.
01:12 while, do-while మరియు for అనేవి మనకు awk లో అందుబాటులోఉన్న loops.
01:18 while loop యొక్క సింట్యాక్స్ ని ఇక్కడ చూడవచ్చు.
01:22 While loop ముందుగా మనం పేర్కొన్న condition నిజమా అని పరిశీలిస్తుంది.
01:27 ఒకవేళ అవును ఐతే, అప్పుడు అది body లోపల కోడ్ ని అమలుచేస్తుంది.

పేర్కొన్న while condition true గా ఉన్నంతవరకు ఈ loop పునరావృతమవుతుంది.

01:37 మనం ఇంతకుముందు ఉపయోగించిన అదే awkdemo.txt file నే ఉపయోగిస్తాం.
01:43 ఇక్కడ నేను ఇంతకముందే while_loop.awk అనే పేరుగల స్క్రిప్ట్ ను రాసిఉంచాను.
01:48 ఇదే ఫైల్ ఈ ట్యుటోరియల్ లో ని Code Files లింక్ లో అందుబాటులో ఉంది.
01:53 ఇక్కడ మనం field separatorని Pipe symbol గా సెట్ చేసాము.
01:58 ప్రారంభం లో, మనం loop variable i విలువను 1 గా సెట్ చేయాలి.
02:04 ఇక్కడ, మనం మరో వేరియబుల్ f ని తీసుకుని దానిని 1 కి ఇనీశియలైజ్ చేసాం.
02:10 Variable f అనేది field counter కి లేదా ప్రతిఒక్క రెకార్డ్ యొక్క fields స్థానానికి ప్రాతినిధ్యం వహిస్తుంది.
02:17 ఇప్పుడు, మనం while condition(కండిశన్) లో i అనేది 3కంటే తక్కువ లేదా సమానమా అని పరిశీలిస్తాం.
02:23 ఒకవేళ అవును ఐతే, అది awkdemo.txt ఫైల్ లో ఆ రికార్డ్ కొరకు విలువను fth field లో ప్రింట్ చేస్తుంది.
02:31 తర్వాత మనం field counter f ను 1 చేత పెంపుచేద్దాం.
02:36 ఆ తర్వాత, మనం loop variable i యొక్క విలువను కూడా 1 చేత పెంపుచేద్దాం.
02:43 ఈ printf అనేది ప్రతీ వరుసచివరలో newline character ని ప్రింట్ చేయడం కొరకు.
02:49 ఈ loop, awkdemo.txt ఫైల్ లోని అన్ని రికార్డ్ ల కొరకు అమలుచేయబడుతుంది.
02:55 అంటే, ప్రతి రికార్డ్ కొరకు మనం ప్రింట్ చేయబడిన మొదటి మూడు ఫీల్డ్ లను పొందుతామని దీని అర్ధం.
03:00 ఇప్పుడు మనం కోడ్ ను అమలు చేద్దాం.
03:03 Ctrl, Alt మరియుT కీలను నొక్కి టర్మినల్ ను తెరవండి.
03:09 మీరు cd command ద్వారా డౌన్ లోడ్ చేసి సంగ్రహించిన Code Files ఫోల్డర్ కి వెళ్ళండి.
03:16 ఇప్పుడు awk space hyphen small f space while_loop.awk space awkdemo.txt అని టైప్ చేసి ఎంటర్ నొక్కండి.
03:29 మనకు ఔట్పుట్ లో అన్ని వరుసలలోని మొదటి మూడు ఫీల్డ్ లు రావడం గమనించండి.
03:35 మనం దీనినే do-while loop తో చేద్దాం.
03:38 do-while loop యొక్క సింట్యాక్స్ ఇక్కడ మనం చూడవచ్చు.
03:42 do-while loop ఎల్లప్పుడూ కోడ్‌ను body లోపల ఒకసారి అమలు చేస్తుంది.
03:47 తర్వాత అది పేర్కొన్న condition ని తనిఖీచేస్తుంది. Condition సత్యం అయినంతవరకూ అది body లో కోడ్ ని రిపీట్ చేస్తుంది.
03:56 నేను ఇప్పటికే ఒక స్క్రిప్ట్ ను రాసి దానికి do_loop.awk అని పేరుపెట్టాను.

ఇదే ఫైల్ Code Files లింక్ లో అందుబాటులో ఉంది.

04:06 ఈ కోడ్ లో, ఇవి do loop లో ముందుగా అమలుపరచాల్సిన statements.

ఇది తనిఖీ చేయబడే condition.

04:15 ఆ తర్వాత, condition అనేది true అయినంతవరకూ loop లోపల statements అనేవి మళ్ళీ మళ్ళీ అమలుచేయబడతాయి.
04:23 ఈ loop, awkdemo.txt ఫైల్ లోని అన్నిరెకార్డ్ లకు పునరావ్రుతమౌతుంది. అంటే,అన్నిరెకార్డ్ లకి మొదటి మూడు ఫీల్డ్ లు ప్రింట్ చేయబడతాయి.
04:33 టర్మినల్ కు మారదాం. నేను టర్మినల్ ని ఖాళీ చేస్తాను.
04:38 ఇప్పుడు awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt అని టైప్ చేసి ఎంటర్ నొక్కండి.
04:52 మనము అదే అవుట్పుట్ పొందుతాము. అప్పుడు మనకు while మరియు do-while loops రెండు ఎందుకు?
04:58 ఆ తేడా ఏమిటో అర్ధం చేసుకుందాం.
05:00 while underscore loop dot awk అనే ఫైల్ కి మారండి.
05:05 ఇప్పుడు, loop counter i విలువను 1 నుండి 4 కు మార్చండి.
05:11 ఇది ప్రారంభం నుండి మనం పేర్కొన్న condition false చేస్తుంది. అంటే దీని అర్థం, మనము ఎటువంటి అవుట్పుట్ పొందకూడదు.
05:19 ఫైల్ ని సేవ్ చేసి టర్మినల్ కు మారండి.
05:22 టర్మినల్ ను ఖాళీ చేయండి.

ఇప్పుడు while loop ని అమలుచేసే కమాండ్ ను పొందేవరకు అప్ యారో కీ ని నొక్కండి.

05:30 ఇప్పుడు ఎంటర్ నొక్కండి.
05:32 చూడండి, మనం ఖాళీ లైన్ లు తప్ప ఎటువంటి ఔట్ పుట్ ను పొందడం లేదు.
05:37 awkdemo.txt ఫైల్ లోని ప్రతీ రెకార్డ్ కొరకు, అవుట్పుట్లో ఖాళీ లైన్ లు ముద్రించబడుతున్నాయి.
05:44 ఇప్పుడు, మనం do loop ఫైల్ లో కొన్ని మార్పులు చేద్దాం.
05:48 do underscore loop dot awk ఫైల్ కి మారండి.
05:53 i విలువను 1 నుండి 4 కి మార్చండి.
05:57 ఫైల్ ను సేవ్ చేసి టర్మినల్ కు మారండి.
06:01 టర్మినల్ ను క్లియర్ చేయ౦డి.

ఇప్పుడు do loop కొరకు కమాండ్ ను పొందేవరకు అప్ యారో నొక్కండి. ఎంటర్ నొక్కండి.

06:10 ఔట్ పుట్ లో ప్రతీ వరుస కొరకు కేవలం మొదటి ఫీల్డ్ మాత్రమే ముద్రించబడుతుంది.

కారణం ఏంటి?

06:16 ప్రతీ వరుస కొరకు awk మొదటగా మొదటి ఫీల్డ్ వద్ద విలువను ముద్రిస్తుంది ఎందుకంటే variable f విలువ 1 కి ఇనీషియలైజ్ చేయబడింది కనుక. అప్పుడు కండిషన్ తనిఖీ చేయబడుతుంది.
06:28 loop counter i యొక్క విలువ అనేది 4 కనుక condition అసత్యం ఔతుంది. అందువల్ల, ఆ రికార్డు కొరకు loop అక్కడ మాత్రమే ముగుస్తుంది.
06:39 ఈ loop అనేది awkdemo.txt ఫైల్ లోని అన్ని రెకార్డ్ ల కొరకు పునరావ్రుతమౌతుంది.
06:44 అంటే, ప్రతీ రెకార్డ్ కొరకు మొదటి ఫీల్డ్ ప్రింట్ చేయబడుతుంది అని అర్ధం.
06:49 మనం ప్రతి రికార్డు కొరకు కనీసం ఒక్కసారి అయినా అవుట్‌పుట్‌ను పొందుతున్నాము.
06:53 మరే ఇతర condition తో సంబంధం లేకుండా, కనీసం ఒక్కసారైనా అమలు కావడానికి do-while loop ను ఉపయోగించండి.
07:01 మనం దీనినే for loop తో కూడాచేయవచ్చు.
07:05 for loop యొక్క సింట్యాక్స్ ను ఇక్కడ చూడవచ్చు.
07:09 Initialization ని అమలు చేయడం ద్వారా for statement ప్రారంభమౌతుంది.
07:14 తరువాత condition సత్యం ఐనంతవరకు అది లోపల statements ను మళ్ళీ మళ్ళీ అమలు చేస్తూ ఉంటుంది ఆపై increment అవుతుంది.
07:23 మీకు C లేదా C++ వంటి భాషతో మీకు అవగాహన ఉందని భవిస్తూ నేను సింట్యాక్స్ ని వివరంగా వివరించట్లేదు.
07:30 ఈ condition కొరకు for loop ఇలా కనిపిస్తుంది.
07:35 ఇక్కడ initialization, condition, checking మరియు ఇంక్రిమెంటేశన్ లు అనేవి ఒకే వరుసలో జరుగుతాయి.
07:43 ఇది మీరు స్వయంగా ప్రయత్నించండి.
07:46 ఇక్కడ మరికొన్ని looping constructs, break, continue, మరియు exit ఉన్నాయి.
07:53 వీటీ గురించి కొన్ని సంబంధిత ఉదాహరణలను రాబొయే టుటోరియల్ లలో చూస్తాము.
07:58 మన మన ఫైల్ లో సింగల్ లేదా మల్టిపల్ comments ను కలిగి ఉండవచ్చు.
08:03 ఇక్కడ సింగల్ లైన్ comment లు అనేవి సింగల్ hash(#) గుర్తు తో డిక్లెర్ చేయబడ్డాయని గమనించండి.
08:10 డబుల్ hash (##)symbol యొక్క సహాయంతో మల్టీ లైన్ comments లు డిక్లెర్ చేయబడ్డాయి.
08:16 ఇప్పుడు, అవుట్పుట్లో ఈ comments లను తనిఖీ చేసి, ముద్రించడంలో అర్థం లేదు.
08:22 మనం hash (##) గుర్తు తో మొదలయ్యే లైన్ లను వదిలెవేయాలి. దాన్ని మన౦ ఎలా చేయొచ్చు?
08:28 8000 కన్నా ఎక్కువ పొందుతున్న వారికి స్టైఫండ్‌లో 50% ఇంక్రిమెంట్ ఇచ్చిన కేసును గుర్తు చేసుకోండి.
08:36 comments లను స్కిప్ చేయడానికి కూడా మనము అదే ఉదాహరణను ఉపయోగిస్తాము.
08:40 ఇక్కడ చూపిన విధంగా ఈ అమలు కోసం నేను next.awk అనే పేరుగల ఫైల్‌ను సృష్టించాను.
08:47 ఇప్పుడు,ఈ కమాండ్ అర్థ౦ ఏమిటి ?
08:50 awk ప్రతీ లైన్ ప్రారంభ౦లో caret sign hash symbol(^#) నమూనా కొరకు వెతుకుతుంది.
08:57 ఒక వేళ నమూనా దొరకితే next కీవర్డ్ awk కి ప్రస్తుత లైన్ ని తక్షణం స్కిప్ చేయమని చెప్తుంది.
09:04 తర్వాత awk ఫైల్ లోని తరువాత లైన్ నుండి ప్రాసస్ ను ప్రారంభిస్తుంది. ఇది ప్రాసెసింగ్ సమయాన్ని ఆదా చేస్తుంది.
09:12 టర్మినల్ కు మారండి ఇక్కడ చూపించిన కమ్యా౦డ్ ను టైప్ చేసి ఎ౦టర్ నొక్కండి.
09:20 మనం ఏ కామెంట్ లూ లేని ఔట్ పుట్ ను పొందుతాము.
09:24 ఒకవేళ మనకు మల్టిపల్ ఫైళ్ళతో అదే ఫార్మాట్లో విద్యార్థుల యొక్క రికార్డులు

awkdemo_mod.txt మరియు awkdemo2.txt ఉన్నాయని అనుకుందాం

09:37 చూడండి, ఇది మన మునుపటి ఫైల్ మాదిరిగానే ఉంటుంది.
09:41 ఇది కూడా ముందే hash సింబల్ తో ఉన్న comments లను కలిగిఉంది
09:45 మరియు ఇది చివర్లో డబుల్ hash ## సింబల్ తో సుదీర్గమైన టేక్స్ట్ ను కలిగి ఉంది
09:50 అందువల్ల మన డాటా రెండు వేర్వెరు ఫైల్ లలో ఉంది. awk విద్యార్థులందరికీ ఇంక్రిమెంట్ ఇవ్వడానికి రెండు ఫైళ్ళను ప్రాసెస్ చేయాలి.
09:59 ఒకసారి మనం మొదటి లైన్ యొక్క డబుల్ హ్యశ్ hash(##) సింబల్ కు చేరుకొగానే awk ఆ ఫైల్ ని ప్రాసస్ చేయడం పూర్తిగా ఆపేయాలి.
10:06 తరువాత అది రెండవ ఫైల్ నుండి ఎక్సిక్యుట్ చేయడ౦ ప్రారంభించాలి. ఇది ప్రాసెసింగ్ సమయాన్ని ఆదా చేస్తుంది.
10:13 next.awk ని ఇక్కడ చూపించినట్టు మార్చండి.
10:17 నేను begin statement క్రి౦ద dollar zero tilde slash caret symbol double hash slash బ్రెసెస్ లోపల next file semicolon ని చేర్చాను.
10:29 ఇది ప్రతి లైన్ ప్రారంభంలో డబల్ hash # సింబల్ కొరకు వెతుకుతుంది.
10:34 ఒక వేళ దొరకితె. తరువాత ఫైల్‌ను ప్రాసెస్ చేయడానికి awk ప్రస్తుత ఫైల్‌ను దాటవేస్తుంది.
10:39 ఫైల్ ని సేవ్ చేయండి.
10:41 టర్మినల్ కి మారి క్రింది కమాండ్ ని టైప్ చేసి ఎంటర్ నొక్కండి.
10:48 చూడండి, మనము రెండు ఫైళ్ళ నుండి అవుట్పుట్ పొందుతున్నాము.
10:53 ఇంతటి తో ఈ టుటొరియల్ చివరికి వచ్చాం. సారా౦శ౦ చూద్దాం.
10:58 ఈ టుటోరియల్ లో మనం awk లోని while, do… while, for, next, nextfile ల గురించి నేర్చుకున్నాం
11:06 మీకొక అసైన్ మెంట్ : awkdemo2.txt యొక్క . విద్యార్థి రికార్డ్ ల కొరకు, కేవల౦ సరి సంఖ్య ఫీల్డ్ లను (అనగా field 2, field 4 మొదలైనవి, ఇన్ పుట్ ఫైల్ లో ఫీల్డ్ ల సంఖ్య తొ నిమిత్తం లేకుండా) ముద్రించండి.
11:22 ఈ లింక్ వద్ద అందుబాటులో ఉన్న వీడియో స్పోకన్ ట్యుటోరియల్ ప్రాజెక్ట్ యొక్క సారాంశాన్ని ఇస్తుంది. దయచేసి దానిని డౌన్ లోడ్ చేసి చూడండి
11:30 స్పొకెన్ ట్యుటొరియల్ ప్రాజెక్ట్ టీ౦ వర్క్ శాప్ లను నిర్వహిస్తుంది.ఆన్లైన్ పరీక్షలో పాసైన వారికి సర్టిఫికేట్లను ఇస్తుంది. మరిన్ని వివరాల కోసం మాకు రాయండి.
11:43 మీకు ఈ స్పొకెన్ ట్యుటొరియల్ లో ఏవైనా సందేహాలున్నాయా? ఈ సైట్ ని సందర్శించండి.
11:49 స్పొకన్ టుటోరియల్ ప్రాజెక్ట్ కి ఎన్ ఎం ఈ ఐ సి టి, ఎం హెచ్ అర్ డి, భారత ప్రభుత్వం నిధులను సమకూర్చుతుంది. ఈ లింక్ లో ఈ మిషన్ గురించి మరింత సమాచారం ఉంది.
12:01 ఈ ట్యుటొరియల్ ని తెలుగులోకి అనువదించినది కరణం స్రవంతి మరియు నేను ఉదయ లక్ష్మి మీ వద్ద సెలవు తీసుకుంటున్నాను. పాల్గొన్నందుకు ధన్యవాదములు.

Contributors and Content Editors

Madhurig, Simhadriudaya