Linux-AWK/C2/MultiDimensional-Array-in-awk/Marathi
|
|
00:01 | awk मध्ये multidimensional arrays तयार करण्याच्या स्पोकन ट्युटोरियलमध्ये आपले स्वागत आहे. |
00:07 | या ट्युटोरिअलमध्ये आपण शिकणार आहोत- awk मध्ये multidimensional array तयार करणे आणि multidimensional array स्कॅन करणे. |
00:18 | आपण हे काही उदाहरणांद्वारे करू. |
00:21 | हे ट्युटोरिअल रेकॉर्ड करण्यासाठी, मी वापरत आहे Ubuntu Linux 16.04 Operating System आणि gedit text editor 3.20.1 |
00:33 | तुम्ही तुमच्या पसंतीचा कोणताही टेक्स्ट एडिटर वापरू शकता. |
00:37 | या ट्युटोरियलचा अभ्यास करण्यासाठी, तुम्ही आपल्या वेबसाईटवरील पूर्वीचे awk ट्युटोरिअल्स पहा. |
00:45 | तुम्हाला C किंवा C++ सारखे कोणत्याही सामान्य प्रोग्रामिंग लँग्वेजचे काही मूलभूत ज्ञान असावे. |
00:52 | नसल्यास, कृपया आपल्या वेबसाईटवरील संबंधित ट्युटोरिअल्स पहा. |
00:58 | या ट्युटोरियलमध्ये वापरल्या गेलेल्या फाईल्स या ट्यूटोरियल पेजवरील Code Files लिंकमध्ये उपलब्ध आहेत. कृपया ते डाउनलोड करून एक्सट्रॅक्ट करा. |
01:08 | awk मध्ये multidimensional array म्हणजे काय? |
01:12 | आपल्याला माहित आहे कि single dimensional arrays मध्ये array element एका एकल index द्वारे ओळखले जाते. |
01:19 | उदाहरणार्थ, array week हे एकल index, day द्वारे ओळखला जातो. |
01:26 | मात्र, multidimensional array मध्ये, element एकाधिक indices च्या क्रमाने ओळखला जातो. |
01:34 | उदाहरणार्थ, two dimensional array element , 2 indices च्या क्रमाने ओळखला जातो. |
01:42 | येथे, multiple indices separator सह त्यांच्या दरम्यान एकल string मध्ये एकत्रित केले जातात. |
01:50 | separator हे built-in variable SUBSEP चे व्हॅल्यू आहे. |
01:55 | एकत्रित string एकल index म्हणून वापरले जाण्यासाठी one dimensional array वापरले जाते. |
02:01 | उदाहरणार्थ, समजा आपण multi स्क्वेअर ब्रॅकेट्समध्ये 4 कॉमा 6 equal to डबल कोट्समध्ये value लिहा. |
02:11 | येथे multi हे multi-dimensional array चे नाव आहे.
नंतर, संख्या 4 आणि 6 स्ट्रिंगमध्ये रूपांतरित केले जातात. |
02:21 | समजा, SUBSEP चे व्हॅल्यू hash symbol (#) आहे. |
02:26 | नंतर, ह्या संख्या त्यांच्या दरम्यान hash symbol (#) सह एकत्रित केली जाते. |
02:32 | तर, array element multi स्क्वेअर ब्रॅकेट्समध्ये डबल कोट्समध्ये 4 hash 6 हे डबल कोट्समध्ये value सेट केले आहे. |
02:43 | SUBSEP चे डीफॉल्ट व्हॅल्यू string आहे डबलस् कोट्समध्ये बॅकस्लॅश "\034 |
02:50 | हे प्रत्येक्षात एक nonprinting character आहे.
बहुतांश इनपुट डेटामध्ये ते सामान्यतः दिसणार नाही. |
02:58 | स्लाईडमध्ये दर्शविल्याप्रमाणे आपण two dimensional array घोषित करण्याचा प्रयत्न करू या. |
03:03 | Row 1 मध्ये दोन elements A आणि B असतात. |
03:08 | Row 2 मध्ये two elements C आणि D असतात. |
03:12 | Ctrl, Alt आणि T कीज दाबून टर्मिनल उघडा. |
03:17 | त्या फोल्डर वर जा जेथे तुम्ही 'cd कमांड' वापरून Code Files डाउनलोड करून एक्सट्रॅक्ट केलेल्या आहेत. |
03:24 | आता खालील array परिभाषित करा. येथे दर्शविल्याप्रमाणे काळजीपूर्वक कमांड टाइप करा.
नंतर Enter दाबा. |
03:35 | आपल्याला कोणत्याही error शिवाय command prompt परत मिळतो.
तर, array परिभाषित केले आहे. |
03:41 | आपल्याला कोणताही आउटपुट मिळत नाही कारण आपण कोडमध्ये प्रिंट करण्यासाठी काहीही दिले नाही. |
03:47 | आता आपण print statement जोडू. |
03:50 | टर्मिनल मधील पूर्वी कार्यान्वित केलेली कमांड मिळविण्यासाठी अप अॅरो की दाबा. |
03:56 | क्लोजिंग curly bracket च्या आधी, टाईप करा semicolon स्पेस print स्पेस a स्क्वेअर ब्रॅकेट्समध्ये 2 कॉमा 2 .
कमांड कार्यान्वित करण्यासाठी Enter दाबा. |
04:13 | लक्ष द्या, आपल्याला आउटपुट capital D म्हणून मिळते. |
04:18 | एखाद्या विशिष्ट index sequence दिलेल्या multidimensional array मध्ये विद्यमान आहे की नाही हे कसे तपासता येईल? |
04:25 | आपण in operator वापरू शकतो. |
04:28 | आपण आधीच या सिरीजमधील single-dimensional array मध्ये ते पाहिले आहे. |
04:34 | आपल्याला indices चे संपूर्ण sequence parentheses मध्ये लिहायचे आहे आणि commas द्वारे वेगेळे केले गेले आहे. |
04:42 | आपण हे एका उदाहरणमध्ये पाहू. |
04:45 | मी आधीच test_multi.awk नावाची एक स्क्रिप्ट लिहिली आहे. |
04:51 | हे समान या ट्यूटोरियल पृष्टच्या Code Files लिंकमध्ये उपलब्ध आहे. |
04:56 | मी आपल्या मागील चर्चामध्ये पाहिल्याप्रमाणे 2 by 2 array परिभाषित केले आहे. |
05:02 | नंतर मी दोन if conditions लिहिले आहे. |
05:06 | प्रथम if condition index one comma one वर element उपस्थित आहे किंवा नाही ते तपासते. |
05:13 | आपल्याला parentheses मध्ये multidimensional array साठी index लिहायचे आहे. |
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 आणि Enter दाबा. |
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 | येथे आपण row मधील fields ची जास्तीत जास्त संख्येची गणना करत आहोत.
आणि गणना केलेल्या व्हॅल्यू variable max_nf मध्ये संग्रहित केले. |
06:40 | जसे आपल्याला माहित आहे कि, NR awk प्रक्रिया केलेल्या वर्तमान records ची संख्या आहे.
NR ची व्हॅल्यू max_nr variable मध्ये संग्रहित आहे. |
06:50 | Awk , प्रथम record पासून ते अंतिम record पर्यंत input file प्रक्रिया करेल. |
06:56 | जेव्हा awk प्रथम record वर प्रक्रिया करत असेल, तेव्हा max_nr हे 1 च्या बरोबर असेल. |
07:03 | दुसरा record प्रक्रिया करतांना, max_nr हे 2 असेल आणि ते असेच चालू राहील. |
07:11 | जेव्हा awk अंतिम record प्रक्रिया करत असताना, max_nr records च्या एकूण संख्येस संग्रहित करेल. |
07:19 | आता आपण input file मधील डेटा वाचला पाहिजे आणि डेटाला two dimensional array मध्ये संग्रहित केले पाहिजे. |
07:26 | for loop च्या आत, आपल्याकडे iterator variable x आहे. |
07:31 | x एक पासून NF पर्यंत पुढे जाईल, आणि x प्रत्येक iteration नंतर 1 ने वाढेल. |
07:39 | x, $x(dollar x) च्या प्रत्येक व्हॅल्यूसाठी, field x वर व्हॅल्यू प्रतिनिधित्व करते. |
07:46 | ती व्हॅल्यू index NR comma x वर array matrix मध्ये संग्रहित केली जाईल. |
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 | आता आपण multidimensional array कसा स्कॅन करावा ते शिकू. |
08:45 | Awk मध्ये multi-dimensional array खरोखर नाही. |
08:50 | म्हणून, multidimensional array स्कॅन करण्यासाठी कोणताही विशेष for statement असू शकत नाही. |
08:56 | array स्कॅन करण्यासाठी तुमच्याकडे multidimensional मार्ग असू शकतात. |
09:00 | तुम्ही यासाठी split function सह for statement एकत्रित करू शकता. |
09:05 | आता split function म्हणजे काय ते पाहू.
split function ,string ला भागांमध्ये वेगळे करण्यासाठी आणि विभाजित करण्यासाठी वापरला जातो. |
09:14 | आणि विविध भाग एका array मध्ये ठेवा. |
09:18 | खालीलप्रमाणे सिंटॅक्स आहे. प्रथम argument मध्ये string भाग होण्यासाठी आहे. |
09:25 | दुसरा argument array चे नाव निर्दिष्ट करते जेथे वेगळ्या केलेल्या भागांमध्ये split ला ठेवेल. |
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 | मग आपल्याकडे iterator सह for loop आहे. |
10:16 | iterator हे प्रत्येक iteration साठी indices values प्रत्येकावर सेट केला जाईल.
समजा 1,1 नंतर 1,2 आणि तसेच पुढे. |
10:27 | split function iterator ला SUBSEP शी वेगळे करून भागांमध्ये विभाजित करते. |
10:34 | array arr मध्ये भागांना संग्रहित केले जातील. |
10:38 | तर, arr[1] आणि arr[2] मध्ये क्रमशः प्रथम index आणि दुसरा index असेल.
आता ही फाईल कार्यान्वित करू. |
10:48 | टर्मिनल वर जा आणि टाईप करा- awk space hyphen small f space multi underscore scan dot awk आणि Enter दाबा. |
11:01 | आउटपुट पहा; indices चे मूळ अनुक्रम पुनर्प्राप्त केले आहे. |
11:07 | थोडक्यात. या ट्युटोरिअलमध्ये आपण शिकलो- awk मध्ये multidimensional array तयार करणे आणि multidimensional array स्कॅन करणे. |
11:18 | असाइन्मेंट म्हणून, two dimensional array 90 अंशाने फिरवण्यासाठी awk script लिहा आणि फिरवलेल्या matrix प्रिंट करा. |
11:28 | खालील लिंकवरील व्हिडिओ 'स्पोकन ट्युटोरियल' प्रोजेक्टचा सारांश देते. कृपया ते डाउनलोड करून पहा. |
11:36 | स्पोकन ट्युटोरियलच्या सहाय्याने कार्यशाळा चालविते.
परीक्षा उत्तीर्ण होणा-या विद्यार्थ्यांना प्रमाणपत्रही दिले जाते. |
11:45 | अधिक माहितीसाठी कृपया आम्हाला लिहा. |
11:49 | कृपया या फोरममध्ये आपली कालबद्ध प्रश्न पोस्ट करा. |
11:53 | "स्पोकन ट्युटोरियल प्रॉजेक्ट" ला अर्थसहाय्य National Mission on Education through ICT, MHRD, Government of India यांच्याकडून मिळालेले आहे.
या मिशनवरील अधिक माहिती या लिंकवर उपलब्ध आहे. |
12:05 | या स्क्रिप्टचे योगदान अंतराने केले आहे.
आय.आय.टी. बॉम्बे तर्फे मी रंजना उके आपली रजा घेते. सहभागासाठी धन्यवाद. |