Linux-AWK/C2/MultiDimensional-Array-in-awk/Telugu
From Script | Spoken-Tutorial
|
|
00:01 | awk లో multidimensional arrays ను సృష్టించడం పై స్పొకన్ టుటోరియల్ కు స్వాగతం. |
00:07 | ఈ టుటోరియల్ లో మనం awk లో multidimensional arrays ని సృష్టించడం,
ఒక multidimensional array ని స్కాన్ చేయడం నేర్చుకుంటాం. |
00:18 | మనం దీనిని కొన్ని ఉదాహరణల ద్వారా చేద్దాం. |
00:21 | ఈ టుటోరియల్ ను రికార్డ్ చేయడం కొరకు నేను Ubuntu Linux 16.04 Operating System మరియు gedit text editor 3.20.1 లను వాడుతున్నాను. |
00:33 | మీకు నచ్చిన ఏ ఇతర టెక్స్ట్ ఎడిటర్ ను అయినా మీరు ఉపయోగించవచ్చు. |
00:37 | ఈ ట్యుటొరియల్ ను అభ్యసించడానికి మీకు మా వెబ్సైట్ లోని మునపటి array పై awk ట్యుటొరియల్స్ యొక్క అవగాహన ఉండాలి. |
00:45 | మీకు ఏదైనా ఒక ప్రోగ్రామింగ్ భాష C లేదా C++ లాంటి వాటిపై కనీస అవగాహన ఉండాలి. |
00:52 | లేదంటే, మా వెబ్ సైట్ లో ఉన్న తత్సంభంధిత టుటోరియల్ లను చూడగలరు. |
00:58 | ఈ ట్యుటొరియల్ లో ఉపయోగించిన ఫైల్ లు ఈ ట్యుటొరియల్ పేజ్ లో ఉన్న Code Files లింక్ లో అందుబాటులో ఉన్నాయి. దయచేసి డౌన్లోడ్ చేసి ఎక్స్ ట్రాక్ట్ చేయండి. |
01:08 | awk లో multidimensional arrays అంటే ఏమిటి? |
01:12 | single dimensional arrays లో, అర్రె ఎలిమెంట్ అనేది ఒక సింగిల్ ఇండెక్స్ తో గుర్తించబడుతుందని మనకు తెలుసు. |
01:19 | ఉదాహరణకి, array week అనేది day అనే సింగిల్ ఇండెక్స్ తో గుర్తించబడుతుంది. |
01:26 | ఏమైనప్పటికి, multidimensional array లో, ఒక ఎలిమెంట్ అనేది ముల్టీపుల్ indices యొక్క ఒక క్రమం ద్వారా గుర్తించబడుతుంది. |
01:34 | ఉదాహరణకి, ఒక టూ డైమెన్షనల్ అర్రె ఎలిమెంట్ అనేది, 2 indices యొక్క ఒక క్రమం ద్వారా గుర్తించబడుతుంది. |
01:42 | ఇక్కడ, మల్టిపుల్ ఇండిసెస్ లు అనేవి ఒక సింగల్ string లోనికి వాటి మధ్య ఒక సెపరేటర్ తో జతచేరుతాయి. |
01:50 | సపరేటర్ అనేది built-in variable SUBSEP యొక్క విలువ. |
01:55 | ఒక సాధారణ one dimensional array కొరకు ఈ జతచేరిన string అనేది ఒక సింగల్ index గా ఉపయోగించబడుతుంది. |
02:01 | ఉదాహరణకి, మనము multi square brackets లోపల 4 కామా 6 equal to double quotes లోపల value ని వ్రాసాము అనుకుందాం. |
02:11 | ఇక్కడ multi అనేది మల్టి డైమెన్షనల్ అర్రె యొక్క పేరు. తర్వాత, 4 మరియు 6 నంబర్లు ఒక స్ట్రింగ్ కు మార్చబడతాయి. |
02:21 | SUBSEP విలువ అనేది hash symbol (#)అని అనుకుందాం. |
02:26 | తర్వాత, ఆ నంబర్ల వాటి మధ్య ఒక hash symbol (#) తో జతచేరుతాయి. |
02:32 | కనుక, array element multi, square brackets లోపల double quotes లోపల 4 hash 6 అనేది డబుల్ కోట్స్ లోపలి విలువకు సెట్ చేయబడింది. |
02:43 | SUBSEP యొక్క డీఫాల్ట్ విలువ అనేది string, double quotes లోపల backslash 034. |
02:50 | ఇది నిజానికి ఒక non-printing character. ఇది చాలావరుకు ఇన్ పుట్ డేటాలలో కనిపించదు. |
02:58 | మనం ఈ స్లైడ్ లో చూపినవిధంగా టూ డైమెన్షనల్ అర్రె ని డిక్లేర్ చేయడానికి ప్రయత్నిద్దాం. |
03:03 | రో 1 అనేది రెండు ఎలిమెంట్స్ A మరియు B లను కలిగిఉంది. |
03:08 | రో 2 అనేది రెండు ఎలిమెంట్స్ C మరియు D లను కలిగిఉంది. |
03:12 | Ctrl, Alt మరియు T లను నొక్కి టర్మనల్ ను తెరవండి. |
03:17 | మీరు cd command ద్వారా డౌన్ లోడ్ చేసి సంగ్రహించిన Code Files ఫోల్డర్ కి వెళ్ళండి. |
03:24 | ఇప్పుడు అర్రె ని ఈ క్రింది విధంగా నిర్వచిద్దాం. ఇక్కడ చూపినవిధంగా కమాండ్ ని జాగ్రత్తగా టైప్ చేద్దాం. తర్వాత ఎంటర్ నొక్కండి. |
03:35 | మనకు ఏ ఎర్రర్ లేకుండా command prompt తిరిగి వచ్చింది. కనుక, అర్రె నిర్వచించబడింది. |
03:41 | కోడ్లో ప్రింట్ చేయడానికి మనము ఏమీ ఇవ్వనందున మనకు ఎటువంటి అవుట్పుట్ లభించదు. |
03:47 | మనం ప్రింట్ స్టేట్మెంట్ ను చేర్చుదాం. |
03:50 | టర్మినల్ లో మునుపు అమలుచేసిన కమాండ్ ను పొందడానికి అప్ యారో కీ ని నొక్కండి. |
03:56 | కమాండ్ ను అమలుచేయడానికి క్లోసింగ్ curly bracket కంటే ముందు, semicolon స్పేస్ print స్పేస్ a square brackets లోపల 2 comma 2 అని టైప్ చేసి ఎంటర్ నొక్కండి. |
04:13 | గమనించండి, మనము అవుట్పుట్ ను క్యాపిటల్ Dగా పొందుతాము. |
04:18 | ఇచ్చిన multidimensional array లో ఒక నిర్దిష్ట index sequence ఉందా అని ఎలా పరీక్షించాలి? |
04:25 | మనం in operatorని ఉపయోగించవచ్చు. |
04:28 | ఈ సిరీస్లో ఇంతకుముందు సింగిల్-డైమెన్షనల్ అర్రే టుటోరియల్ లో మనం దీనిని చూశాము. |
04:34 | మనం indices యొక్క మొత్తం క్రమాన్ని parentheses లలో వ్రాసి కామాలతో వేరు చేయాలి. |
04:42 | దీనిని ఒక ఉదాహరణలో చూద్దాం. |
04:45 | నేను ఇప్పటికే test_multi.awk పేరు తో స్క్రిప్ట్ ని రాసి ఉంచాను. |
04:51 | ఈ ట్యుటోరియల్ పేజీ యొక్క కోడ్ ఫైల్స్ లింక్లో ఇదే అందుబాటులో ఉంది. |
04:56 | మన మునుపటి చర్చలో చూసినట్లుగా నేను 2 by 2 array ని డిఫైన్ చేసాను. |
05:02 | తరువాత నేను రెండు if condition లను వ్రాశాను. |
05:06 | మొదటి if condition అనేది index one comma one వద్ద ప్రస్తుతం element ఉందా లేదా అని పరీక్షిస్తుంది. |
05:13 | multidimensional array కొరకు index ను మనం parentheses లో రాయాలి. |
05:18 | ఒక వేళ condition అనేది true ఐతే అది one comma one is present ని ప్రింట్ చేస్తుంది. |
05:23 | లేదా అది one comma one is absent అని ప్రింట్ చేస్తుంది. |
05:28 | అదేవిధంగా, మనం index three comma one వద్ద element ఉందో లేదో తనిఖీ చేస్తాము. ఫైల్ని అమలు చేద్దాం. |
05:36 | టర్మినల్ కు మారి awk space hyphen small f space test underscore multi dot awk అని టైప్ చేసి ఎంటర్ నొక్కండి. |
05:49 | ఔట్ పుట్ లో one comma one is present మరియు three comma one is absent అని కనిపిస్తుంది. |
05:55 | ఇంకొక ఉదాహరణను తీసుకుందాం.
మనం ఒక matrix యొక్క transpose ను సృష్టించాలనుకుంటున్నాము. |
06:02 | ఇచ్చిన matrix యొక్క transpose అనేది ఒక matrix యొక్క rows మరియు columns లను పరస్పరం మార్పిడి చేయడం ద్వారా ఏర్పడుతుంది. దీన్ని మనం ఎలా చేయగలం? |
06:11 | నేను 2D-array.txt ఫైల్ లో ఒక two-dimensional array matrix క్రియేట్ చేసాను. |
06:19 | నేను transpose.awk అనే కోడ్ ను రాశాను. |
06:24 | మొదట ఈ awk script యొక్క action section ను చూడండి. |
06:29 | ఇక్కడ మనం ఒక రో లోని ఫీల్డ్స్ యొక్క గరిష్ట సంఖ్యను లెక్కిస్తున్నాము. మరియు లెక్కించిన విలువను variable max_nf లో నిల్వ చేస్తుంది. |
06:40 | మనకు తెలిసినట్లుగా, NR అనేది awk చేత ప్రాసెస్ చేయబడిన ప్రస్తుత రికార్డుల యొక్క సంఖ్య. NR విలువ max_nr variable లో నిల్వచేయబడుతుంది. |
06:50 | Awk, input file ని మొదటి record నుండి చివరి record వరకు ప్రాసస్ చేస్తుంది. |
06:56 | Awk మొదటి రికార్డ్ ను ప్రాసెస్ చేస్తున్నప్పుడు, max_nr అనేది 1 కు సమానం అవుతుంది. |
07:03 | రెండవ record ను ప్రాసెస్ చేస్తున్నప్పుడు, max_nr 2 అవుతుంది మరియు ఇది ఈ విధంగా కొనసాగుతుంది. |
07:11 | awk చివరి record ను ప్రాసెస్ చేస్తున్నప్పుడు, max_nr మొత్తంరికార్డుల యొక్క సంఖ్యను నిల్వ చేస్తుంది. |
07:19 | ఇప్పుడు మనం input file నుండి డేటాను చదివి ఆ డేటాను ఒక two dimensional array లో నిల్వ చేయాలి. |
07:26 | for loop లోపల, మనకు iterator variable x ఉంది. |
07:31 | x ఒకటి నుండి NF వరకు వెళుతుంది, మరియు ప్రతి iteration తర్వాత x 1 పెరుగుతుంది |
07:39 | x, $x(dollar x) యొక్క ప్రతి విలువకు, ఫీల్డ్ x వద్ద విలువను సూచిస్తుంది. |
07:46 | ఆ విలువ array matrix లో index NR కామా x వద్ద నిల్వచేయబడుతుంది. |
07:53 | ఉదాహరణకు, matrix of 1 comma 1 అనేది input file నుండి index 1 comma 1 వద్ద ప్రస్తుతం ఉన్న విలువను నిల్వ చేస్తుంది. |
08:02 | కనుక, awk ఈ కోడ్తో మొత్తం input fileను ప్రాసెస్ చేసిన తరువాత, matrix array సంపూర్ణంగా తయారు అవుతుంది. |
08:10 | ఇది input file యొక్క మొత్తం డాటాని two dimensional array ఫార్ మ్యాట్ లో నిల్వ చేస్తుంది. |
08:16 | ఇప్పుడు, మనం END section లోపల చూద్దాం. |
08:20 | matrix యొక్క transpose ను ముద్రించడానికి మనం ఒక nested for loop ను వ్రాసాము. |
08:25 | నేను, మీకు బేసిక్ C programming గురించి కనీస అవగాహన ఉందనుకుంటున్నాను.
కనుక, నేను కోడ్ యొక్క ఈ భాగాన్ని వివరంగా వివరించడం లేదు. |
08:34 | కోడ్ను వివరంగా చూడటానికి మరియు మీ స్వంతంగా అర్థం చేసుకోవడానికి ఇక్కడ వీడియోను పాజ్ చేయండి. |
08:40 | ఇప్పుడు, మనం ఒక మల్టీ డైమెన్షనల్ అర్రేను ఎలా స్కాన్ చేయాలో నేర్చుకుంటాము. |
08:45 | నిజమైన అర్థంలో, Awk అనేది multi-dimensional array ను కలిగి ఉండదు. |
08:50 | కనుక, multidimensional arrayను స్కాన్ చేయడానికి అక్కడ ఏ ప్రత్యేకమైన for statement ఉండకూడదు. |
08:56 | ఒక array ని స్కాన్ చేయడానికి మీరు multidimensional మార్గాన్ని కలిగి ఉండవచ్చు. |
09:00 | దీని కొరకు మీరు for statement ను split function తో కలపవచ్చు. |
09:05 | split function అంటే ఏమిటో చూద్దాం.
split function ను కత్తిరించడానికి లేదా ఒక స్ట్రింగ్ ను ముక్కలుగా విభజించడానికి ఉపయోగిస్తారు. |
09:14 | ఇంకా ఆ వేర్వేరు ముక్కలను ఒక array లో ఉంచండి. |
09:18 | సింటాక్స్ ఈ క్రింది విధంగా ఉంటుంది. మొదటి argument అనేది విభజించాల్సిన string ను కలిగి ఉంటుంది. |
09:25 | రెండవ argument అనేది విభజించిన భాగాలను split ఎక్కడ ఉంచాలో ఆ array యొక్క పేరును పేర్కొంటుంది. |
09:33 | మూడవ argument అనేది, separator ను ప్రస్తావిస్తుంది. అది string ని విభజించడానికి ఉపయోగించబడుతుంది. |
09:39 | మొదటి భాగం arr 1 లో నిల్వ చేయబడుతుంది. |
09:43 | రెండవ భాగం arr 2 లో ఆపై ఆలా ముందుకు సాగుతుంది. |
09:48 | మనం ఇప్పటికే సృష్టించిన array నుండి indices యొక్క అసలు క్రమాన్ని తిరిగి పొందాలనుకుంటున్నాం అనుకుందాం. దీన్ని మనం ఎలా చేయగలం? |
09:56 | నేను multi_scan.awk అనే కోడ్ ను రాశాను. |
10:02 | మొత్తం కోడ్ BEGIN section లోపల వ్రాయబడింది. |
10:06 | మొదట మనం a అనే పేరుతో ఒక array ను సృష్టించాము మరియు దానికి ఈ విలువలను కేటాయించాము. |
10:12 | తరువాత మనకు for loop తో ఒక iterator ఉంది. |
10:16 | ప్రతి iteration కొరకు, ప్రతీ ఒక్క indices values కు iterator అనేది సెట్ చేయబడుతుంది.
1,1 తరువాత 1,2 .. ఆపై అలా. |
10:27 | split function, iterator ని SUBSEP ద్వారా వేరుచేసిన ప్రత్యేక విభాగాలుగా విచ్ఛిన్నంచేస్తుంది. |
10:34 | ఈ విభాగాలు array arr లో నిల్వ చేయబడతాయి. |
10:38 | కనుక, arr[1] మరియు arr[2] అనేవి వరుసగా మొదటి మరియు రెండవ index లను కలిగి ఉంటాయి.
ఈ ఫైల్ ని అమలు చేద్దాం. |
10:48 | టర్మినల్ కి మారి awk space hyphen small f space multi underscore scan dot awk అని టైప్ చేసి ఎంటర్ నొక్కండి. |
11:01 | అవుట్పుట్ చూడండి; indices యొక్క అసలు క్రమం తిరిగి పొందబడుతుంది. |
11:07 | సారాంశం చూద్దాం: ఈ టుటోరియల్ లో మనం awk లో multidimensional array ని క్రియేట్ చేయడం మరియు ఒక multidimensional array ని స్కాన్ చేయడం గురించి నేర్చుకున్నాం. |
11:18 | ఒక అసైన్మెంట్ గా, ఒక two dimensional array ని 90 డిగ్రీ లు త్రిప్పడానికి మరియు ఆ త్రిప్పిన matrix ను ప్రింట్ చేయడానికి ఒక awk script ను వ్రాయండి. |
11:28 | ఈ లింక్ వద్ద అందుబాటులో ఉన్న వీడియో స్పోకన్ ట్యుటోరియల్ ప్రాజెక్ట్ యొక్క సారాంశాన్ని ఇస్తుంది. దయచేసి దానిని డౌన్ లోడ్ చేసి చూడండి. |
11:36 | స్పొకన్ ట్యుటొరియల్ ప్రాజెక్ట్ వర్క్ షాప్ లను నిర్వహిస్తుంది. ఆన్లైన్ పరీక్షలో పాసైన వారికి సర్టిఫికేట్లను ఇస్తుంది. |
11:45 | మరింత సమాచారం కోసం మాకు రాయండి. |
11:49 | దయచేసి మీ సమాయంతో కూడిన సందేహాలను ఈ ఫోరమ్ లో పోస్ట్ చేయండి. |
11:53 | స్పొకన్ ట్యుటొరియల్ ప్రాజెక్ట్ కి ఎన్ ఎం ఈ ఐ సి టి, ఎం హెచ్ అర్ డి, భారత ప్రభుత్వం నిధులను సమకూర్చుతుంది. ఈ లింక్ లో ఈ మిషన్ గురించి మరింత సమాచారం ఉంది. |
12:05 | ఈ ట్యుటొరియల్ ని తెలుగులోకి అనువదించినది కరణం స్రవంతి మరియు నేను ఉదయ లక్ష్మి మీ వద్ద సెలవు తీసుకుంటున్నాను. పాల్గొన్నందుకు ధన్యవాదములు |