Linux-AWK/C2/Loops-in-awk/Marathi
|
|
00:01 | नमस्कार, awk मधील Loops वरील ह्या स्पोकन ट्युटोरियलमध्ये आपले स्वागत आहे. |
00:06 | ह्या ट्योरिअलमध्ये आपण शिकणार आहोत - awk मध्ये while, do-while, for आणि अधिक looping constructs . |
00:16 | आपण हे काही उदाहरणांद्वारे करू. |
00:20 | हे ट्युटोरिअल रेकॉर्ड करण्यासाठी मी वापरत आहे Ubuntu Linux 16.04 Operating System आणि gedit text editor 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 लूपचे सिन्टॅक्स येथे पाहता येऊ शकते. |
01:22 | While loop निर्दिष्ट condition ट्रू आहे का ते प्रथम तपासते. |
01:27 | असल्यास ते body मध्ये कोड कार्यान्वित करते.
निर्दिष्ट while condition ट्रू असेपर्यंत लूपची पुनरावृत्ती होईल. |
01:37 | आपण तीच awkdemo.txt फाईल वापरू, जी आपण पूर्वी वापरली होती. |
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 फिल्डमध्ये व्हॅल्यू प्रिंट करेल. |
02:31 | मग आपण field counter f 1 ने वाढवू. |
02:36 | त्यानंतर, आपण loop variable i ची व्हॅल्यूदेखील 1 ने वाढवू. |
02:43 | हे printf प्रत्येक ओळीच्या शेवटी newline character प्रिंट करण्यासाठी आहे. |
02:49 | हे लूप awkdemo.txt फाईलमधील सर्व नोंदींसाठी कार्यान्वित केले जाईल. |
02:55 | याचा अर्थ प्रत्येक रेकॉर्डसाठी प्रथम 3 फील्ड्स प्रिंट केले जातील. |
03:00 | आता हा कोड कार्यान्वित करू. |
03:03 | Ctrl, Alt आणि T कीज दाबून terminal उघडा. |
03:09 | तुम्ही cd command वापरून Code Files डाऊनलोड आणि एक्सट्रॅक्ट केलेल्या फोल्डरवर जा. |
03:16 | आता टाईप करा : awk space hyphen small f space while_loop.awk space awkdemo.txt
एंटर दाबा. |
03:29 | लक्षात घ्या की आपल्याला आऊटपुटमधील सर्व रोजमधील पहिले तीन fields मिळतील. |
03:35 | हेच आपण do-while loop च्या सहाय्याने करू. |
03:38 | do-while loop चे सिन्टॅक्स येथे पाहिले जाऊ शकते. |
03:42 | do-while loop नेहमीच body मध्ये एकदा कोड कार्यान्वित करते. |
03:47 | मग ते निर्दिष्ट condition तपासते. आणि निर्दिष्ट condition true (ट्रू) असेपर्यंत body मध्ये कोड रिपीट करते. |
03:56 | मी आधीच एक स्क्रिप्ट लिहिली आहे आणि त्याला do_loop.awk म्हणून नाव दिले आहे.
Code Files लिंकमध्ये तशीच फाईल उपलब्ध आहे. |
04:06 | ह्या कोडमध्ये, do loop च्या आत हे statements आहेत जे आधी कार्यान्वित केले जातील.
ही condition आहे जी तपासली जाईल. |
04:15 | त्यानंतर, लूपमध्ये statements पुन्हापुन्हा कार्यान्वित केली जाईल जोपर्यंत कंडिशन true(ट्रू) आहे. |
04:23 | loop awkdemo.txt मधील सर्व नोंदींसाठी पुन्हा चालू होईल.
याचा अर्थ सर्व रेकॉर्डसाठी पहिले 3 फील्ड प्रिंट केले जातील. |
04:33 | terminal वर जा. मी terminal क्लिअर करते. |
04:38 | आता टाईप करा : awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt एंटर दाबा. |
04:52 | आपल्याला तेच आऊटपूट मिळते. मग आपल्याकडे while आणि do-while दोन्ही लूप्स का आहेत ? |
04:58 | फरक समजून घेऊ. |
05:00 | while underscore loop dot awk फाईलवर जा. |
05:05 | आता, loop counter i ची व्हॅल्यू 1 वरून 4 वर बदला. |
05:11 | हे सुरुवातीपासून condition false निर्दिष्ट करेल.
याचा अर्थ असा की, आपल्याला कोणताही आऊटपुट मिळू नये. |
05:19 | फाईल सेव्ह करा आणि terminal वर जा. |
05:22 | terminal क्लिअर करा.
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 | फाईल सेव्ह करा आणि terminal वर जा. |
06:01 | terminal क्लिअर करा.
do loop कार्यान्वित करण्यासाठी आपल्याला कमांड मिळत नाही तोपर्यंत अप ऍरो की दाबा. एंटर दाबा. |
06:10 | आऊटपुटमध्ये, प्रत्येक ओळीसाठी केवळ पहिला फील्ड प्रिंट केला आहे.
काय कारण आहे? |
06:16 | आता प्रत्येक ओळीसाठी, awk प्रथम पहिल्या field, मधील व्हॅल्यू प्रिंट करते, कारण variable f ची व्हॅल्यू 1 ला इनिशलाईज केली आहे.
मग condition चेक केली आहे. |
06:28 | ज्याअर्थी loop counter i ची व्हॅल्यू 4 आहे, त्याअर्थी condition false आहे.
म्हणून, त्या रेकॉर्डसाठी केवळ loop टर्मिनेट केला जाईल. |
06:39 | loop awkdemo.txt मधील सर्व रेकॉर्ड्ससाठी पुन्हा चालू होईल. |
06:44 | याचा अर्थ प्रत्येक रेकॉर्डसाठी पहिला field प्रिंट केला जाईल. |
06:49 | आपल्याला प्रत्येक रेकॉर्डसाठी कमीतकमी एकदा तरी आऊटपुट मिळत आहे. |
06:53 | कोणतीही condition असली तरीही कमीत कमी एकदा तरी कार्य कार्यन्वयित होण्यासाठी do-while loop वापरा. |
07:01 | आपण हे for loop साठीदेखील करू शकतो. |
07:05 | for loop चे सिन्टॅक्स येथे पाहिले जाऊ शकते. |
07:09 | initialization कार्यान्वित करून for statement सुरू होते. |
07:14 | नंतर, जोपर्यंत condition true (ट्रू) आहे, त्यामध्ये statements पुन्हापुन्हा कार्यान्वित होते आणि मग increments |
07:23 | C किंवा C++ ह्यासारख्या लँग्वेजशी आपण परिचित आहात असे मानून, मी सिन्टॅक्स तपशीलवार समजावून सांगत नाही. |
07:30 | ह्या condition साठी for loop हे असे दिसते. |
07:35 | येथे, initialization, condition ची तपासणी आणि व्हेरिएबल वाढ एकाच ओळीत केले जातात. |
07:43 | तुम्ही स्वतः हा प्रयत्न करा. |
07:46 | तिथे आणखी काही looping constructs आहेत
break, continue, exit |
07:53 | पुढील ट्युटोरिअलमध्ये आपण ह्यावरील काही संबंधित उदाहरणे पाहणार आहोत. |
07:58 | कदाचित आपल्याकडे आपल्या फाईलमध्ये सिंगल आणि मल्टीलाईन comments (कमेंट्स) असू शकतात. |
08:03 | येथे लक्षात घ्या की सिंगल लाईन comments सिंगल hash (#) चिह्नासह घोषित केले आहेत. |
08:10 | मल्टिलाइन comments डबल hash (#) चिह्नासह घोषित केले आहेत. |
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 | terminal वर जा आणि येथे दाखविल्याप्रमाणे कमांड टाईप करा आणि एंटर दाबा. |
09:20 | आपल्याला कोणत्याही comments शिवाय आऊटपुट मिळते. |
09:24 | समजा, आपल्याकडे एकाच फॉर्मेटमध्ये अनेक फाईल्समधील विद्यार्थ्यांचा रेकॉर्ड आहे.
awkdemo_mod.txt आणि awkdemo2.txt |
09:37 | पहा, ही आपल्या मागील फाईल सारखीच आहे. |
09:41 | hash चिन्हाच्या आधी कमेंट्सदेखील आहेत. |
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 within braces nextfile semicolon मध्ये जोडली आहे. |
10:29 | प्रत्येक ओळीच्या सुरूवातीस हे डबल hash # चिह्न शोधेल. |
10:34 | आढळल्यास, awk पुढील फाईलवर प्रक्रिया करण्यासाठी वर्तमान फाईल वगळेल. |
10:39 | ही फाईल सेव्ह करा. |
10:41 | terminal वर जा आणि खालील कमांड टाईप करा. एंटर दाबा. |
10:48 | पहा, दोन्ही फाईल्समधून आपल्याला आऊटपुट मिळत आहे. |
10:53 | आपण ह्या ट्युटोरिअलच्या अंतिम टप्प्यात पोहोचलो आहोत.
थोडक्यात. |
10:58 | ह्या ट्युटोरिअलमध्ये आपण शिकलो - awk मधील while, do… while, for, next, nextfile |
11:06 | असाईनमेंट म्हणून, awkdemo2.txt च्या विद्यार्थ्यांच्या रेकॉर्ड्ससाठी, input file मध्ये किती fields आहेत त्याकडे दुर्लक्ष करून फक्त fields (म्हणजेच. field 2, field 4 इत्यादी) प्रिंट करा. |
11:22 | खालील लिंकवरील व्हिडिओ 'स्पोकन ट्युटोरियल' प्रोजेक्टचा सारांश देते. कृपया ते डाऊनलोड करून पहा. |
11:30 | स्पोकन ट्युटोरिलच्या सहाय्याने कार्यशाळा चालविते.
परीक्षा उत्तीर्ण होणाऱ्या विद्यार्थ्यांना प्रमाणपत्रही दिले जाते. अधिक माहितीसाठी कृपया आम्हांला लिहा. |
11:43 | ह्या Spoken Tutorial संदर्भात तुम्हांला काही प्रश्न आहेत का?
कृपया ह्या साईटला भेट द्या. |
11:49 | "स्पोकन ट्युटोरियल प्रॉजेक्ट" ला अर्थसहाय्य National Mission on Education through ICT, MHRD, Government of India यांच्याकडून मिळालेले आहे.
ह्या मिशनवरील अधिक माहिती ह्या लिंकवर उपलब्ध आहे. |
12:01 | आय.आय.टी. बॉम्बे तर्फे मी रंजना उके आपली रजा घेते. सहभागासाठी धन्यवाद. |