Linux-AWK/C2/Basics-of-Single-Dimensional-Array-in-awk/Sanskrit

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 Basics of single dimensional array in awk इति पाठार्थं भवद्भ्यः स्वागतम् ।
00:07 पाठेऽस्मिन् वयम् –

awk मध्ये अरेस्,

00:12 अरे-एलिमेण्ट्स् असैन्-करणम् ,
00:15 अन्यासां प्रोग्रमिङ्ग्-भाषापेक्षया कथमिदं भिन्नमस्ति,

अरे-एलिमेण्ट् रेफर्-करणम्, एतान् विषयान् ज्ञास्यामः ।

00:23 कानिचन उदाहरणैः सह इदं करिष्यामः ।
00:26 पाठमिदं रेकोर्ड्-कर्तुमहं

Ubuntu Linux 16.04 ओपरेटिङ्-सिस्टम् अपि च gedit टेक्श्ट्-एडिटर् 3.20.1 इतीमे उपयुञ्जे ।

00:38 अभीष्टानुसारेण कश्चिदपि टेक्श्ट्-एडिटर् उपयोक्तुं भवन्तः अर्हन्ति ।
00:42 पाठस्यास्य अभ्यासाय, भवन्तः अस्माकं जालपुटस्थं पूर्वतन awk-ट्युटोरियल्स् पश्येयुः ।
00:49 युष्माकं C अथवा C++ सदृशानां कानिचित् प्रोग्रामिङ्ग्-भाषाज्ञानम् आवश्यकम् ।
00:56 नास्ति चेत्, कृपया अस्मिन् जालपुटे सम्बद्धपाठान् अवलोकयन्तु ।
01:02 अत्रोपयुक्ताः सञ्चिकाः, अस्मिन्नेव पुटे Code Files लिङ्क्-मध्ये उपलभ्यन्ते ।

कृपया ताः extract कुर्वन्तु ।

01:11 awk मध्ये अरे(array) नाम किम्?

सम्बद्धानि एलिमेण्ट्स् स्टोर्-कर्तुं awk द्वारा, अरेस् उपयुज्यन्ते ।

01:18 इदम् एलिमेण्ट्, सङ्ख्या वा स्ट्रिङ्ग् वा भवितुमर्हति ।
01:21 awk मध्ये अरेस्, associative (असोसियेटिव्) वर्तन्ते ।
01:24 अस्यार्थः, प्रत्येकम् 'अरे एलिमेण्ट्', एकम् ' इण्डॆक्स्-वेल्यू' युतमस्ति ।
01:29 इदम् अन्येषां प्रोग्रामिङ्ग्-भाषाणाम् 'अरे' इवास्ति ।
01:33 किन्त्वत्र केचन भेदाः सन्ति ।
01:36 प्रथमतया, अरे इत्यस्य विनियोगात् प्राक्, तस्य डिक्लेर्-करणम् अनवश्यकम् ।
01:41 एवमेव, अरे कति एलिमेण्ट्स्-प्राप्तवदस्तीति वक्तव्यं नास्ति ।
01:47 प्रोग्रामिङ्ग्-भाषासु , 'अरे-इण्डेक्स्' सामान्यतया धनात्मक-पूर्णसङ्ख्या वर्तते ।
01:52 इण्डेक्स् सामान्यतया शून्यात्(0) प्रारभ्यते । पश्चात् 1, पश्चात् 2, एवम्..
01:58 परन्तु awk मध्ये, इण्डेक्स् काचित् सङ्ख्या वा स्ट्रिङ्ग् वा स्यात् ।
02:03 इदं awk मध्ये अरे-एलिमेण्ट् असैन्-कर्तुं सिण्टेक्स् वर्तते ।

Array name कानिचन सूक्तं वेरियेबल्-नाम स्यात् ।

02:11 अत्र, index एकं इण्टिजर् वा स्ट्रिङ्ग् वा स्यात् ।
02:16 इण्डेक्स्-नाम अथवा मूल्यं किमपि भवेत्, 'स्ट्रिङ्स्' इतीमानि डबल्कोट्स् अन्तः एव स्यात् ।
02:23 इदमेकेन उदाहरणेन सह ज्ञास्यामः ।
02:27 अहम् पूर्वमेव कोड्स् लिखितवानस्मि । तानि array_intro.awk इति रक्षितवानस्मि ।
02:34 प्लेयर् इत्यस्याधः Code Files लिङ्क्-मध्ये इयं सञ्चिका उपलभ्यमस्ति ।

कृपया तदवचित्य उपयुज्यताम् ।

02:41 अत्राहम् उदाहरणार्थं सप्ताहदिनानि BEGIN विभागे लिखितवानस्मि ।
02:48 अपि च 'अरे' इत्यस्य नाम day अस्ति ।
02:52 अहम् इण्डेक्स् इतीदं 1 इति अपि च वेल्यू इतीदं "Sunday" इति सेट्-कृतवानस्मि ।
02:57 अस्मिन् 'अरे एलिमेण्ट्' मध्ये, एकं 'स्ट्रिङ्ग्' इतीदं इण्डेक्स्-रूपेण उपयुक्तवान् अस्मि ।

अतः, इण्डेक्स् “first” इत्यस्मै , वेल्यू "Sunday" वर्तते ।

03:06 सम्पूर्णम् 'अरे' इतीदम् एवमेव रचितम् ।
03:10 पश्यताम् यत्, 'अरे एलिमेण्ट्स्' अनुक्रमं नास्ति ।

अहं day four इतीदं day three इत्यस्मात् पूर्वं डिक्लेर् कृतवानस्मि ।

03:18 awk अरे-मध्ये, इण्डेक्स् अनुक्रमम् अनवश्यकम् ।
03:23 ' असोसियेटिव् अरे' इत्यस्य (associative array) प्रयोजनमस्ति यत्, कदापि नूतनं युग्मं संयोजितुं शक्यम् ।
03:29 अहं day 6 इतीदं 'अरे' मध्ये संयोजयामि ।
03:33 अन्तिमायाः पङ्क्त्याः अन्ते कर्सर् स्थापयित्वा Enter नुदन्तु ।

पश्चात् अधः यथा दर्शितं तथा टङ्कयन्तु ।

03:42 सञ्चिकां रक्षन्तु ।
03:44 वयं अरे डिक्लेर् कृतवन्तः ।

परन्तु 'अरे एलिमेण्ट्' इतीदं कथं रेफर् कुर्यास्म?

03:49 एकस्मिन् इण्डेक्स्-मध्ये एलिमेण्ट् रेफर् कर्तुं, array name अपि च स्क्वेर्-ब्रेकेट्-मध्ये index लिखन्तु ।

वयमिदं करिष्यामः ।

03:58 पुनः कोड्-प्रति आगच्छन्तु ।
04:01 क्लोसिङ्ग्-कर्लिब्रेस्-इत्यस्य वामपार्श्वे कर्सर् स्थापयन्तु ।
04:05 Enter नुदन्तु ।

एवं टङ्कयन्तु  : print space day within square brackets 6.

04:13 कोड् रक्षन्तु ।
04:15 CTRL, ALT अपि च T कीलकानि युगपत् नुत्त्वा टर्मिनल् उद्घाटयन्तु ।
04:20 cd कमाण्ड् उपयुज्य, भवन्तः Code Files डौन्लोड्-कृत्वा extract कृतं फोल्डर्-प्रति गच्छन्तु ।
04:27 अधुना एवं टङ्कयन्तु awk space hyphen small f space array_intro.awk

Enter नुदन्तु ।

04:38 पश्यताम् यत्, Friday इति फलितं प्राप्नुमः ।
04:42 पश्चात्, 'अरे' मध्ये, एकस्मिन् इण्डेक्स्-मध्ये , किमपि एलिमेण्ट् अस्ति वा इति परीक्षामहे ।
04:48 तदर्थमस्माभिः, 'in ओपरेटर्' उपयोक्तव्यम् । एकेन उदाहरणेन सह अहमिदं विवरिष्यामि ।
04:55 एडिटर्-विण्डो-मध्ये कोड्-प्रति गच्छन्तु ।
04:59 कर्सर् इतीदं print स्टेट्मेण्ट्-अन्ते संस्थाप्य Enter नुदन्तु ।

पश्चात् अत्र यथा दर्शितं तथा टङ्कयन्तु ।

05:09 कोड् रक्षन्तु ।
05:11 अहमधुना द्वे if कण्डीशन्स् संयोजितवानस्मि ।
05:15 प्रथमं if कण्डीशन्, day मध्ये इण्डेक्स्-2 (index two) अस्ति वा इति परीक्षते ।
05:21 सत्यमस्ति चेत्, तदा तत्सम्बद्धं प्रिण्ट्-स्टेट्मेण्ट् एक्सिक्यूट् जायते ।
05:26 पश्चात्, द्वितीयं कण्डीशन्, day मध्ये इण्डेक्स् 7 (index seven) अस्ति वा इति परीक्षते ।

तत् true अस्ति चेत्, print स्टेट्मेण्ट् एक्सिक्यूट् जायते ।

05:35 पश्यामः यत्, इण्डेक्स्2 अरे मध्ये अस्ति ; 7 न ।

औट्पुट्-दृष्टुम् , इमां सञ्चिकाम् एक्सिक्यूट् करवाम ।

05:44 'टर्मिनल्' आगत्य, पूर्वतन एक्सिक्यूटेड्-कमाण्ड् प्राप्तुम्, 'अप् एरो' कीलकं नुदन्तु ।
05:51 एक्सिक्यूट् कर्तुं Enter नुदन्तु ।
05:54 अस्मदपेक्षितं औट्पुट् प्राप्यते ।
05:57 वयमधुना कोड्-मध्ये इतोपि कानिचन परिवर्तनानि कुर्मः ।

अत्र यथा दर्शितं तथा कोड् अप्डेट् कुर्वन्तु ।

06:04 7 in day कण्डीशन् अधस्तात्, अहमेकम् अधिकं कण्डीशन् संयोजितवान् ।
06:09 इदं , इण्डेक्स् seven इत्यस्य वेल्यू , null वा नवेति परीक्षते ।
06:14 true अस्ति चेत्, तत् Index 7 is not nullति मुद्रापयति ।
06:18 अस्मासु 7 युतं किञ्चन इण्डॆक्स् नास्ति । अतः तत् किमपि न मुद्रापयति ।
06:24 पश्चात्, वयं 7 in day कण्डीशन् इत्यस्य प्रिण्ट्-स्टेट्मेण्ट् परिवृत्तवन्तः ।
06:30 कोड् रक्षयन्तु ।

अस्माभिः कोड् एक्सिक्यूट् जायते चेत् किं भविष्यतीति पश्याम ।

06:35 टर्मिनल् आगच्छन्तु ।

पूर्वतन कमाण्ड् प्राप्तुं , 'अप्-एरो' कीलकं नुदन्तु ।

06:43 एक्सिक्यूट् कर्तुं, Enter नुदन्तु ।
06:46 अस्माभिः निरीक्षितफलितं प्राप्यते ।
06:49 "Index 7 is present after null comparison." इति स्टेट्मेण्ट् मुद्रापितम् ।

तत् कथं शक्यम्?

06:57 day[7] not equal to null इति लिखितः चेत्, वयं इण्डॆक्स्7 मध्ये स्थितं एलिमेण्ट्, एक्सेस् कर्तुं प्रयत्नं कुर्मः ।
07:04 इदम् एक्सेस्, आदौ इण्डॆक्स् 7 मध्ये एकम् एलिमेण्ट् स्वयमेव रचयति । पश्चात् तं null मूल्याय इनिशियलैस् करोति ।
07:12 पश्चात्, इण्डेक्स् 7 मध्ये, यत्किमपि एलिमेण्ट् अस्ति वा इति पश्यामः ।
07:18 null एलिमेण्ट् इतीदं रचितमित्यतः, औट्पुट् Index 7 is present after null comparison इति दर्शयति ।
07:26 स्मर्यतां यत् -

day at index 7 not equal to null इतीदं एलिमेण्ट् इत्यस्य अस्तित्वं परीक्षितुं सम्यग् विधानं नास्ति ।

07:34 इदम् इण्डेक्स् 7 मध्ये, एकंnull एलिमेण्ट् रचयति ।
07:38 तत्परतया, अस्माभिः in ओपरेटर् उपयोक्तव्यम् ।
07:41 इदं अरे-मध्ये यत्किमपि एलिमेण्ट् न रचयति ।

अनेन सह वयं पाठान्त्यम् आगतवन्तः ।

07:50 पाठेस्मिन् वयम् -

awk मध्ये अरेस्,

07:54 अरे-एलिमेण्ट् असैन्-करणम्,
07:56 अन्येषां प्रोग्रमिङ्ग्-भाषासु विद्यमान-अरे-इत्यस्मात् अत्र को भेदः ?
08:00 अरे-एलिमेण्ट्-रेफर्-करणम् ,

इत्येतान् विषयान् ज्ञातवन्तः ।

08:03 एकं पाठनियोजनम् -

flowerColor इत्येकम् अरे डिफैन् कुर्वन्तु ।

08:07 पुष्पाणां नामानि इण्डेक्स् भविष्यन्ति ।
08:10 तेषां पुष्पाणां सूक्तानि वर्णानि वेल्यू भविष्यन्ति ।
08:14 युष्माकम् अभीष्टानुसारेण पञ्च-पुष्पाणां नामानि संयोजयन्तु ।
08:18 चतुर्थस्य पुष्पस्य नाम मुद्रापयन्तु ।

'अरे' मध्ये “लोटस्” इति पुष्पम् अस्ति वा इति परीक्षताम् ।

08:25 पर्चन्याम् विद्यमानं विडियो, “spoken tutorial” प्रकल्पस्य सारं दर्शयति । तदवचित्य पश्यन्तु ।
08:33 “spoken tutorial” प्रकल्पगणः, इमान् पाठान् उपयुज्य कार्यशालां चालयति । उत्तीर्णेभ्यः प्रमाणपत्रं ददाति ।
08:42 अधिकविवरणार्थम् अस्मभ्यं लिखन्तु ।
08:46 भवतां प्रश्नान् मिनिट् सेकेण्ड् इत्यनयोः सह फोरं मध्ये लिखन्तु ।
08:50 "Spoken Tutorial" प्रकल्पः, NMEICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवान् अस्ति । अधिकविवरणं अस्यां पर्चन्याम् उपलभ्यते ।
09:01 पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः ।

Contributors and Content Editors

NaveenBhat, Sandhya.np14