Difference between revisions of "Linux-AWK/C2/Loops-in-awk/Sanskrit"
Sandhya.np14 (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
Line 77: | Line 77: | ||
|- | |- | ||
| 02:23 | | 02:23 | ||
− | | सत्यञ्चेत् , तत् रेकोर्ड् इत्यस्मै '''awkdemo.txt ''' सञ्चिकायां '''f'''<sup>th</sup> | + | | सत्यञ्चेत् , तत् रेकोर्ड् इत्यस्मै '''awkdemo.txt ''' सञ्चिकायां '''f'''<sup>th</sup> फील्ड् मध्यस्थं मूल्यं मुद्रापयति । |
|- | |- | ||
| 02:31 | | 02:31 | ||
Line 120: | Line 120: | ||
|- | |- | ||
| 03:47 | | 03:47 | ||
− | | पश्चात् तत् निर्दिष्टं कण्डीशन् परीक्षते । इदं कण्डीशन्, '''true''' वर्तमाने सति | + | | पश्चात् तत् निर्दिष्टं कण्डीशन् परीक्षते । इदं कण्डीशन्, '''true''' वर्तमाने सति body अन्तस्थं कोड् पुनरावर्तते । |
|- | |- | ||
| 03:56 | | 03:56 |
Latest revision as of 14:41, 20 August 2019
|
|
00:01 | Loops in awk इति पाठार्थं भवद्भ्यः स्वागतम् । |
00:06 | अस्मिन् पाठे वयम्, awk मध्ये:
while, do-while, for तथा बहूनि ‘लूपिङ्ग् कन्स्ट्रक्ट्’ विषयान् (looping constructs) ज्ञास्यामः । |
00:16 | इदं कैश्चन उदाहरणैः सह करिष्यामः । |
00:20 | पाठमिदं रेकोर्ड्-कर्तुमहम् :
Ubuntu Linux 16.04 ओपरेटिङ् सिस्टम् अपि च gedit टेक्श्ट् एडिटर् 3.20.1 इतीमे उपयुनज्मि । |
00:32 | भवतामभीष्टानुसारेण यत्किमपि टेक्स्ट् एडिटर् उपयोक्तुमर्हन्ति भवन्तः । |
00:36 | पाठस्यास्य अभ्यासाय , भवन्तः अस्माकं जालपुटस्थं पूर्वतन awk ट्युटोरियल्स् पश्येयुः । |
00:43 | भवद्भ्यः, C अथवा C++ सदृशानां प्रोग्रामिङ्ग्-भाषाणां ज्ञानमावश्यकम् । |
00:50 | न चेत्, कृपया अस्माकं जालपुटे तत्सम्बद्धपाठान् अवलोकयन्तु । |
00:56 | अस्मिन् ट्युटोरियल् मध्ये उपयुक्ताः सञ्चिकाः , अस्मिन्नेव पुटे Code Files लिङ्क्-मध्ये उपलभ्यन्ते ।
कृपया ताः अवचित्य एक्स्ट्रेक्ट् (extract) कुर्वन्तु । |
01:06 | एकां अथवा तदधिकाः क्रियाः पुनः पुनः कर्तुं , 'लूप्' अस्माकम् अनुमतिं ददाति । |
01:12 | while, do-while अपि च for इत्येतानि awk मध्ये उपलभ्यमानानि लूप्स् सन्ति । |
01:18 | while लूप् इत्यस्य सिण्टेक्स् भवन्तः दृष्टुं शक्नुवन्ति । |
01:22 | While लूप्, उक्तं कण्डीशन् true अस्ति वा इति आदौ परीक्षते । |
01:27 | सत्यञ्चेत् तत्, body मध्यस्थानि कोड्स् एक्सियूट् करोति ।
उक्तं while कण्डीशन् true यावत् भविष्यति तावत् 'लूप्' पुनरावर्तते । |
01:37 | वयम्, आदौ उपयुक्ताम् awkdemo.txt सञ्चिकामेव पुनः उपयुञ्ज्महे । |
01:43 | अहं तावदेव while_loop.awk इति नाम्नः स्क्रिप्ट् लिखितवान् अस्मि । |
01:48 | इयमेव सञ्चिका, अस्मिन् ट्युटोरियल् मध्ये Code Files पर्चन्याम् उपलभ्यते । |
01:53 | अत्र वयं Pipe चिह्नं, 'फील्ड् सपरेटर्' इति सेट् कृतवन्तः । |
01:58 | वयमादौ, 'लूप् वेरियेबल् i' इत्यस्य मूल्यं 1 इति सेट् कुर्मः । |
02:04 | अत्र वयम्, अन्यमेकं वेरियेबल् f इतीदं गृहीत्वा, तं 1 इत्यस्मै इनिशियलैस् कृतवन्तः । |
02:10 | वेरियेबल् f, प्रत्येकाय रेकोर्ड् इत्यस्मै, 'फील्ड् कौण्टर्' अथवा फील्ड्-स्थानं सूचयति । |
02:17 | वयमधुना, while कण्डीशन् मध्ये, i इतीदं 3 इत्यस्मात् न्यूनमस्ति वा सममस्ति वा इति परीक्षामहे । |
02:23 | सत्यञ्चेत् , तत् रेकोर्ड् इत्यस्मै awkdemo.txt सञ्चिकायां fth फील्ड् मध्यस्थं मूल्यं मुद्रापयति । |
02:31 | पश्चाद्वयं, वयं 'फील्ड् कौण्टर् f ' इतीदं 1 इत्यनेन वर्धयामः । |
02:36 | पश्चाद्वयं, 'लूप् वेरियेबल् i 'इत्यस्य मूल्यमपि 1 इत्यनेन वर्धयामः । |
02:43 | इदं printf, प्रत्येकस्याः पङ्क्त्याः अन्ते newline character इतीदं मुद्रापयति । |
02:49 | awkdemo.txt सञ्चिकास्थेभ्यः सर्वेभ्यः रेकोर्ड् इत्येतेभ्यः, इदं 'लूप्' एक्सिक्यूट् क्रियते । |
02:55 | अर्थात्, प्रत्येकस्य रेकोर्ड् इत्यस्य आदिमानि 3 फील्ड्स् मुद्राप्यन्ते । |
03:00 | अधुना इदं कोड् एक्सिक्यूट् कुर्मः । |
03:03 | CTRL, ALT अपि च T कीलकानि नुत्वा 'टर्मिनल्' उद्घाटयन्तु । |
03:09 | cd कमाण्द् उपयुज्य, Code Files इतीदं डौन्लोड् कृत्वा, एक्स्ट्रेक्ट् (extract) कृतं फोल्डर् प्रति गच्छन्तु । |
03:16 | अधुना एवं टङ्कयन्तु : awk space hyphen small f space while_loop.awk space awkdemo.txt
Enter नुदन्तु । |
03:29 | पश्यतां यत् औट्पुट् मध्ये, सर्वासां पङ्क्तीनां त्रीणि फील्ड्स् सन्ति । |
03:35 | do-while लूप् इत्यनेन सह वयमिदमेव कुरवाम । |
03:38 | do-while लूप् इत्यस्य सिण्टेक्स् अत्र दृश्यते । |
03:42 | do-while लूप्, सर्वदा body इत्यस्यान्तः विद्यमानं कोड् एकदा एक्सिक्यूट् करोति । |
03:47 | पश्चात् तत् निर्दिष्टं कण्डीशन् परीक्षते । इदं कण्डीशन्, true वर्तमाने सति body अन्तस्थं कोड् पुनरावर्तते । |
03:56 | एतावदेवाहं स्क्रिप्ट् लिखित्वा तस्मै do_loop.awk इति नाम दत्त्वानस्मि ।
इयमेव सञ्चिका Code Files लिङ्क् मध्ये उपलभ्यते । |
04:06 | अस्मिन् कोड् मध्ये, इमानि do लूप् इत्यस्यान्तः वर्तमानानि स्टेट्मेण्ट्स् सन्ति । इमानि आदौ एक्सिक्यूट् जायन्ते । इदं परीक्ष्यमाण-कण्डीशन् वर्तते । |
04:15 | पश्चात्, कण्डीशन् यावत् true वर्तते तावत्, लूप् अन्तः स्टेट्मेण्ट्स् पुनः पुनः एक्सिक्यूट् जायते । |
04:23 | इदं लूप्, awkdemo.txt सञ्चिकायाः सर्वेभ्यः रेकोर्ड् इत्येतेभ्यः पुनरावर्तते ।
अर्थात्, सर्वेभ्यः रेकोर्ड् इत्येतेभ्यः , आदिमानि त्रीणि फील्ड्स् मुद्राप्यन्ते । |
04:33 | टर्मिनल् आगच्छामि अपि च तत् रिक्तं करोमि । |
04:38 | अधुना एवं टङ्कयन्तु : awk space hyphen small f space do underscore loop dot awk space awkdemo dot txt.
Enter नुदन्तु । |
04:52 | वयं तदेव फलितं प्राप्नुमः । तथापि, while अपि च do-while इति किमर्थं द्वे लूप्स् वर्तेते ? |
04:58 | भेदान् वयं ज्ञास्यामः । |
05:00 | while underscore loop dot awk सञ्चिकाम् आगच्छन्तु । |
05:05 | अधुना, 'लूप् कौण्टर् i ' इत्यस्य मूल्यं 1 तः 4 इत्यस्मै परिवर्तताम् । |
05:11 | इदं सूचितं कण्दीशन् इतीदं, आदिमादारभ्य false करोति ।
अस्यार्थः, अस्माभिः किमपि फलितं न लभेत् । |
05:19 | सञ्चिकां रक्षित्वा टर्मिनल् प्रति आगच्छन्तु । |
05:22 | टर्मिनल् रिक्तं करोमि ।
अधुना, while लूप् एक्सिक्यूट् कर्तुं युष्माभिः यावत् कमाण्ड् न लभ्यते तावत्, अप् एरो (up arrow) कीलकं नुदत । |
05:30 | अधुना Enter नुदन्तु । |
05:32 | पश्यताम्, रिक्ताः पङ्क्तीः हित्वा अस्माभिः किमपि फलितं न प्राप्यते । |
05:37 | awkdemo.txt सञ्चिकायाः प्रत्येकस्मै रेकोर्ड् इत्यस्मै , फलिते रिक्त-पङ्क्तयः मुद्राप्यते । |
05:44 | अधुना, do लूप् सञ्चिकायां कानिचन परिवर्तनानि कुर्मः । |
05:48 | do underscore loop dot awk सञ्चिकायै परिवर्तताम् । |
05:53 | ‘i’ मूल्यं 1 तः 4 इत्यस्मै परिवर्तयन्तु । |
05:57 | सञ्चिकां रक्षित्वा टर्मिनल् आगच्छन्तु । |
06:01 | टर्मिनल् रिक्तं कुर्वन्तु ।
अधुना, do लूप् इत्यस्मै कमाण्ड् यावत् प्राप्यते तावत्, अप्-एरो (up arrow) कीलकं नुत्वा Enter नुदन्तु । |
06:10 | फलिते, प्रत्येकपङ्क्त्याः प्रथमं फील्ड् इतीदं मुद्रापितम् । अस्य किं कारणम् ? |
06:16 | आदौ, प्रत्येक-पङ्क्त्यै awk प्रथम-फील्ड्-मूल्यं मुद्रापयति । यतो हि वेरियेबल् f इत्यस्य मूल्यं '1' तः आरभ्यते । पश्चात् कण्डीशन् परीक्ष्यते । |
06:28 | 'लूप् कौण्टर् i' इत्यस्य मूल्यं 4 अस्तीत्यतः, कण्डीशन् अत्र false जातम् ।
अतः, 'लूप्' इतीदं तस्मै रेकोर्ड्-इत्यस्मै तत्रैव समाप्यते । |
06:39 | इदं लूप्, awkdemo.txt सञ्चिकायाः सर्वेभ्यः रेकोर्ड् इत्येतेभ्यः पुनरावर्तते । |
06:44 | नाम, प्रत्येकस्मै रेकोर्ड्-इत्यस्मै, प्रथमं-फील्ड्, मुद्राप्यते । |
06:49 | प्रत्येकस्मै रेकोर्ड्-इत्यस्मै, कनिष्ठपक्षतः एकवारं फलितं प्राप्यते । |
06:53 | अन्यं यत्किमपि कण्डीशन् अगणय्य, एकवारं एक्सिक्यूट् भवितुं do-while उपयुज्यताम् । |
07:01 | for लूप् इत्यनेन सहापि इदं कर्तुं शक्यते । |
07:05 | for लूप् सिण्टेक्स् अत्र दृश्यते । |
07:09 | initialization एक्सिक्यूट् करणेन सह, for स्टेट्मेण्ट् आरभ्यते । |
07:14 | कण्डीशन् true यावद्भविष्यति तावत्, तत् अन्तस्थं स्टेट्मेण्ट् इतीदं एक्सिक्यूट् करोति । पश्चात् इन्क्रिमेण्ट् जायते । एवं लूप् पुनरावर्तते । |
07:23 | भवद्भ्यः C अथवा C++ सदृशानां प्रोग्रामिङ्ग्-भाषाणां ज्ञानमस्तीति भावनया सिण्टेक्स् अधिकं न विवृतम् । |
07:30 | कण्डीशन् इत्यस्मै, for लूप् एवं दृश्यते । |
07:35 | अत्र, इनिशियलैसेशन् , कण्डीशन्-परीक्षा, वेरियेबल्-वर्धनं च एकस्मिन्नेव पङ्क्तौ क्रियते । |
07:43 | भवन्तः एव परीक्षां कुर्वन्तु । |
07:46 | break, continue, exit इत्यादीनि कानिचन ‘लूपिङ्ग् कन्स्ट्रक्ट्स्’ (looping constructs) सन्ति । |
07:53 | एतस्मै सम्बद्धानि उदाहरणानि वयं आगामि पाठेषु दृक्ष्यामः । |
07:58 | अस्माकं सञ्चिकायां, एकपङ्क्तियुतं अनेकपङ्क्तियुतञ्च कोमेण्ट्स् प्राप्नुयाम । |
08:03 | अत्र, एकपङ्क्तियुतानि कोमेण्ट्स् इतीमानि, एकेन हेश्-चिह्नेन (#) डिक्लेर् कृतानीति अवलोकयन्तु । |
08:10 | अनेकपङ्क्तियुतानि कोमेण्ट्स् इतीमानि, डबल् हेश् (##) चिह्नेन सह डिक्लेर् क्रियन्ते । |
08:16 | अधुना, इमानि कोमेण्ट्स् परीक्ष्य, फलिते मुद्रापणेन किमपि अर्थं नास्ति । |
08:22 | वयं 'हेश्' (##) चिह्नेन आरभमाणाः पङ्क्तीः त्यजेम ।
वयमिदं कथं कुर्मः? |
08:28 | 8000 रूप्यकेभ्यः अधिकं स्टैपण्ड् पाप्यमाणेभ्यः, 50% इन्क्रिमेण्ट् दीयमानम् उदाहरणं स्मरन्तु । |
08:36 | कोमेण्ट्-त्यागाय वयं तदेव उदाहरणं उपयुञ्ज्महे । |
08:40 | एक्सिक्यूशन् कर्तुं, अत्र यथा दर्शितं तथा अहं next.awk नाम्नः सञ्चिकां रचितवानस्मि । |
08:47 | अधुना, कमाण्ड् इत्यस्य कोऽर्थः? |
08:50 | awk, प्रत्येक-पङ्क्त्याः प्रारम्भे, caret sign hash symbol(^#) पेटर्न् इत्यस्मै शोधं करोति । |
08:57 | पेटर्न् प्राप्यते चेत्, next कीवर्ड्, तत्सम्बद्ध-पङ्क्तिं त्यक्तुं awk प्रति वदिष्यति । |
09:04 | तदा सञ्चिकायाः अग्रिमया पङ्क्त्या , awk प्रोसेस् कर्तुम् आरभते । इदं प्रोसेस्-समयं रक्षति । |
09:12 | 'टर्मिनल्' आगत्य अत्र दर्शितानि कमाण्ड्स् टङ्कयन्तु । Enter नुदन्तु । |
09:20 | विना कोमेण्ट्स् वयं फलितं प्राप्नुमः । |
09:24 | वयं विद्यार्थिनां रेकोर्ड्स् एकस्यैव फोर्मेट् इत्यस्य, बह्वीषु सञ्चिकासु , नाम awkdemo_mod.txt अपि च awkdemo2.txt इत्येतयोः प्राप्तवन्तः इति भावयामः । |
09:37 | पश्यताम्, इदमस्माकं पूर्वतन सञ्चिकावदेवास्ति । |
09:41 | इदं 'हेश्' चिह्नेन सह यानि प्रारभ्यन्ते तानि कोमेण्ट्स् प्राप्तवदस्ति । |
09:45 | अपि च इदं अन्ते डबल्-हेश्-चिह्नेन सह (##) बहूनि टेक्स्ट् प्राप्तवदस्ति । |
09:50 | अस्माकं डेटा, द्वयोः सञ्चिकयोः वर्तते ।
सर्वेभ्यः विद्यार्थिभ्यः इन्क्रिमेण्ट् दातुं , awk द्वेऽपि सञ्चिके प्रोसेस् कुर्यात् । |
09:59 | वयं प्रथम-सञ्चिकायाः 'द्वे हेश्' (##) चिह्नं यदा प्राप्नुमः तदा, awk तस्याः सञ्चिकायाः प्रोसेस् करणं निवारयेत् । |
10:06 | पश्चात् तत् अग्रिमायाः सञ्चिकायाः एक्सिक्यूट्-करणं प्रारभेत् ।
इदं प्रोसेस्-समयं रक्षति । |
10:13 | next.awk इतीदमत्र यथा दर्शितं तथा परिवर्तयन्तु । |
10:17 | BEGIN स्टेट्मेण्ट् इत्यस्याधः अहं dollar zero tilde slash caret symbol double hash slash within braces nextfile semicolon इति संयोजितवानस्मि । |
10:29 | इदं, प्रत्येकस्याः पङ्क्त्याः प्रारम्भे, 'डबल् हेश्' (#) चिह्नाय शोधं करोति । |
10:34 | मिलिष्यति चेत्, awkअग्रिमां सञ्चिकां प्रोसेस् कर्तुं , प्रस्तुतां सञ्चिकां त्यजति । |
10:39 | इमां सञ्चिकां रक्षन्तु । |
10:41 | 'टर्मिनल्' आगत्य कमाण्ड् टङ्कयन्तु ।
Enter नुदन्तु । |
10:48 | पश्यताम् यत् , वयं द्वाभ्यामपि सञ्चिकाभ्यां फलितं प्राप्नुमः । |
10:53 | अनेन वयं पाठस्यान्तमागतवन्तः ।
सङ्क्षेपेण, |
10:58 | पाठेऽस्मिन् वयं , awk मध्ये :
while, do… while, for, next, nextfile इत्येतान् ज्ञातवन्तः । |
11:06 | एकं पाठनियोजनम् -
awkdemo2.txt मध्ये, विद्यार्थिनां रेकोर्ड् इत्यस्मै, 'इन्पुट् सञ्चिकायां' कति फील्ड्श् सन्ति इति ज्ञानं विना, समफील्ड्स्, नाम फील्ड् 2, फील्ड् 4 इत्यादीनि मुद्रापयन्तु । |
11:22 | पर्चन्याम् विद्यमानं विडियो, “spoken tutorial” प्रकल्पस्य सारं दर्शयति । तदवचित्य पश्यन्तु । |
11:30 | “spoken tutorial” प्रकल्पगणः, इमान् पाठान् उपयुज्य कार्यशालां चालयति । उत्तीर्णेभ्यः प्रमाणपत्रं ददाति । अधिकविवरणार्थम् अस्मभ्यं लिखन्तु । |
11:43 | अस्मिन् 'स्पोकन् ट्युटोरियल्' मध्ये प्रश्नाः सन्ति वा?
कृपया जालपुटमिदं पश्यन्तु |
11:49 | "Spoken Tutorial" प्रकल्पः, NMEICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवान् अस्ति । अधिकविवरणं अस्यां पर्चन्याम् उपलभ्यते । |
12:01 | पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः । |