Linux-AWK/C2/MultiDimensional-Array-in-awk/Nepali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 नमस्कार! awk मा मल्टिडाइमेन्सनल अरेहरू सृजना गर्ने स्पोकन ट्युटोरियलमा स्वागत छ
00:07 यो ट्युटोरियलमा, हामी यी कुराहरू सिक्ने छौं -

awk मा मल्टिडाइमेन्सनल अरे सृजना गर्न र मल्टिडाइमेन्सनल अरे स्क्यान गर्न

00:18 यसको लागि हामी केही उदाहरणहरू प्रयोग गर्ने छौं
00:21 यो ट्युटोरियल रेकर्ड गर्न, म उबुन्टु लिनक्स १६.०४ अपरेटिंग सिस्टमgedit टेक्स्ट एडिटर ३.२०.१ प्रयोग गर्द छु
00:33 तपाई आफ्नो रोजाईको कुनैपनि टेक्स्ट एडिटर प्रयोग गर्न सक्नुहुन्छ
00:37 यो ट्युटोरियल अभ्यास गर्न, तपाईले यो वेबसाइटका अघिल्ला अरेका awk ट्युटोरियलहरू हेरेको हुनुपर्छ
00:45 तपाईसँग प्रोग्रामिंग ल्याङ्ग्वेज जस्तै C वा C++ को आधारभूत ज्ञान हुनुपर्छ
00:52 अन्यथा, हाम्रो वेबसाइटमा रहेको सम्बन्धित ट्युटोरियलहरू हेर्नुहोला
00:58 यो ट्युटोरियलमा प्रयोग गरिएका फाइलहरू यो पेजको Code Files लिङ्कमा उपलब्ध छ

तिनीहरूलाई डाउनलोड गरी एक्सट्रयाक्ट गर्नुहोला

01:08 awk मा मल्टिडाइमेन्सनल अरे के हो?
01:12 हामीलाई थाहा छ कि, सिंगल डाइमेन्सनल अरेहरूमा, एउटा अरे एलिमेंट एउटा इन्डेक्स ले चिनिन्छ
01:19 उदाहरणको लागि, अरे week लाई एउटा इन्डेक्स day ले चिनिन्छ
01:26 तथापि, मल्टिडाइमेन्सनल अरेमा एउटा एलिमेंट लाई एकभन्दा बढि इन्डेक्सहरूको अनुक्रमले चिनिन्छ
01:34 उदाहरणको लागि, एउटा टु डाइमेन्सनल अरेलाई २ इन्डेक्सहरूको अनुक्रमले चिनिन्छ
01:42 यहाँ, एकभन्दा बढि इन्डेक्सहरूलाई एउटा सेपरेटर बीचमा राखेर एउटा स्ट्रिंग मा जोडिन्छ
01:50 सेपरेटर बिल्ट-इन् भेरिएबल SUBSEP को मान हो
01:55 जोडिएको स्ट्रिंग एउटा साधारण वान डाइमेन्सनल अरेको लागि एउटा इन्डेक्स ko रूपमा प्रयोग गरिन्छ
02:01 उदाहरणको लागि, मानौं हामी यस्तो लेख्छौं: multi स्क्वाएर ब्राकेट भित्र 4 कमा 6 इक्वल टु दोहोरो उद्दरणमा value
02:11 यहाँ, multi एउटा मल्टिडाइमेन्सनल अरे को नाम हो

अनि, नम्बरहरू 4 6 लाई एउटा स्ट्रिंग मा बदलिएको छ

02:21 मानौं, SUBSEP को मान ह्याश चिन्ह (#) रहेको छ
02:26 अनि, यी नम्बरहरूलाई बीचमा एउटा ह्याश (#) चिन्ह सहित जोडिने छ
02:32 त्यसैले, अरे एलिमेंट multi स्क्वाएर ब्राकेट भित्र दोहोरो उद्दरणमा 4 ह्याश 6 मा दोहोरो उद्दरण भित्रको value' रहन्छ
02:43 SUBSEP को डिफल्ट मान दोहोरो उद्दरण भित्रको ब्याकस्ल्याश 034 स्ट्रिंग हो
02:50 यो वास्तबमा प्रिन्ट नहुने क्यारेक्टर हो

यो प्रायजसो इन्पुट डेटामा देखा पर्दैन

02:58 अब, यहाँ स्लाइड मा देखाए झैँ एउटा 2- डाइमेन्सनल अरे घोषणा गरौं
03:03 Row 1 मा दुई एलिमेंटहरू A B छन्
03:08 Row 2 मा दुई एलिमेंटहरू C D छन्
03:12 Ctrl, AltT किहरू प्रयोग गरी टर्मिनल खोलौं
03:17 cd कमाण्ड प्रयोग गरी Code Files लिंकबाट फाइल डाउनलोड गरेको फोल्डरमा जाऊ
03:24 अब, यसरी अरे परिभाषित गरौं, यहाँ देखाए झैँ कमाण्ड टाइप गरौं

अनि, एन्टर थिचौं

03:35 हामी कुनै एरर विना एउटा कमाण्ड प्रम्प्ट प्राप्त गर्छौं

यसरी, अरे परिभाषित भएको छ

03:41 हामीले कुनै पनि आउटपुट प्राप्त गर्दैनौं किनभने हामीले कोड मा केही पनि प्रिन्ट गर्न भनेका छैनौं
03:47 अब, print स्टेटमेन्ट थपौं
03:50 टर्मिनल मा अघिल्लो पटक एक्जिक्युट गरेको कमाण्ड प्राप्त गर्न अप एरो कि थिचौं
03:56 बन्द हुने कर्ली ब्राकेट अगाडी टाइप गरौं: सेमिकोलन स्पेस print स्पेस a स्क्वाएर ब्राकेट भित्र 2 कमा 2

कमाण्ड एक्जिक्युट गर्न एन्टर थिचौं

04:13 हामीले आउटपुटमा क्यापिटल D प्राप्त गरेका छौं
04:18 एउटा मल्टिडाइमेन्सनल अरे मा निश्चित इन्डेक्सको अनुक्रम छ कि छैन भनेर कसरी जाँच्न सकिन्छ त?
04:25 हामी in अपरेटर प्रयोग गर्न सक्छौं
04:28 हामीले यसको बारेमा यसै श्रृंखलाको सिंगल-डाइमेन्सनल अरेमा हेरेका थियौं
04:34 हामीले इन्डेक्सको सम्पूर्ण अनुक्रम ब्राकेट भित्र कमाले छुट्ट्याएर लेख्नुपर्छ
04:42 यसको लागि एउटा उदाहरण हेरौं
04:45 मैले पहिले नै test_multi.awk नामक स्क्रिप्ट लेखेकी छु
04:51 सोही कोड यो ट्युटोरियलको पेजको Code Files लिंकमा उपलब्ध छ
04:56 हामीले पहिले चर्चा गर्ने क्रममा एउटा 2 बाई 2 अरे परिभाषित गरेको छौं
05:02 अनि, यहाँ दुई 'if' कन्डिसन हरू छन्
05:06 पहिलो if कन्डिसनले इन्डेक्स 1 कमा 1 मा पहिलो एलिमेंट भए/नभएको जाँच्ने छ
05:13 हामीले मल्टिडाइमेन्सनल अरे को लागि इन्डेक्स ब्राकेटमा लेख्नुपर्छ
05:18 यदि कन्डिसन सही भएमा यसले one comma one is present प्रिन्ट गर्छ
05:23 अन्यथा, यसले one comma one is absent प्रिन्ट गर्छ
05:28 यसैगरी, इन्डेक्स 3 कमा 1 मा एलिमेंट भए/नभएको जाँच्ने छौं

फाइल एक्जिक्युट गरौं

05:36 टर्मिनल मा जाऊ र टाइप गरौं: awk स्पेस हाइफन सानो f स्पेस test अन्डरस्कोर multi डट awk एन्टर थिचौं
05:49 आउटपुट यस्तो देखिन्छ: one comma one is present three comma one is absent
05:55 एउटा थप उदाहरण हेरौं

मानौं, हामी एउटा म्याट्रिक्स को ट्रांस्पोज सृजना गर्न चाहन्छौं

06:02 कुनै पनि म्याट्रिक्स को ट्रान्सपोज निकाल्न उक्त म्याट्रिक्स को रोहरू लाई कोलम हरू सँग बदल्नुपर्छ

हामी यसो कसरी गर्न सक्छौं त?

06:11 मैले 2D-array.txt फाइलमा एउटा 2-डाइमेन्सनल अरे सृजना गरेकी छु
06:19 मैले transpose.awk नामक कोड लेखेकी छु
06:24 पहिले, यो awk स्क्रिप्टको action सेक्सनमा हेरौं
06:29 यहाँ, हामी रो को फिल्डहरू को सबैभन्दा ठूलो नम्बर हिसाब गर्दै छौं

र उक्त मान भेरिएबल max_nf मा भण्डार गर्छौं

06:40 हामीलाई थाहा छ कि NR मा awk ले प्रोसेस गरेको हालको रेकर्ड नम्बर
NR  को मान max_nr भेरिएबलमा भण्डार गरिन्छ
06:50 Awk ले इन्पुट फाइल को पहिलो रेकर्ड देखि अन्तिम रेकर्ड सम्म प्रोसेस गर्छ
06:56 awk ले पहिलो रेकर्ड प्रोसेस गर्दा, max_nr को मान 1 हुने छ
07:03 दोस्रो रेकर्ड प्रोसेस गर्दा, max_nr को मान 2 हुने छ र यसैगरी बढ्ने छ
07:11 awk ले अन्तिम रेकर्ड प्रोसेस गर्दा, max_nr मा जम्मा रेकर्डहरूको नम्बर भण्डार हुने छ
07:19 अब, हामीले इन्पुट फाइलबाट डेटा रिड गरेर एउटा 2-डाइमेन्सनल अरेमा भण्डार गर्नुपर्छ
07:26 'for' लूप, भित्र iterator भेरिएबल x रहेको छ
07:31 x को मान 1 देखि NF सम्म हुने छ र प्रत्येक पटक को पुनरावृत्ति पछि x को मान १ ले बढ्ने छ
07:39 x, $x(dollar x) को प्रत्येक मानले फिल्ड x को मान जनाउँछ
07:46 उक्त मान, अरे म्याट्रिक्स को इन्डेक्स NR कमा x मा भण्डार हुने छ
07:53 उदाहरणको लागि, 1 कमा 1 को म्याट्रिक्स ले इन्पुट फाइलको इन्डेक्स 1 कमा 1 मा रहेको मान भण्डार गर्ने छ
08:02 यसरी, यो कोडले awk मा सम्पूर्ण इन्पुट फाइल प्रोसेस गरेपछि एउटा पूर्ण म्याट्रिक्स अरे बन्ने छ
08:10 यसले इन्पुट फाइलको सम्पूर्ण डेटा एउटा 2 डाइमेन्सनल अरे फर्म्याटमा भण्डार गर्ने छ
08:16 अब, END सेक्सन भित्र हेरौं
08:20 हामीले म्याट्रिक्स को ट्रान्सपोज प्रिन्ट गर्न एउटा nested for loop लेखेका छौं
08:25 म तपाईसँग C प्रोग्रामिंग को आधारभूत ज्ञान भएको ठान्छु

त्यसैले, म कोडको यो खण्डको बारेमा चर्चा गर्ने छैन

08:34 भिडियो यहाँ रोकौं र कोड थप आफैँ बुझौं
08:40 अब, हामी एउटा मल्टिडाइमेन्सनल अरे कसरी स्क्यान गर्ने सिक्ने छौं
08:45 Awk मा यथार्थ रूपमा मल्टिडाइमेन्सनल अरे हुँदैन
08:50 त्यसैले, मल्टिडाइमेन्सनल अरे स्क्यान गर्ने विशेष 'for' स्टेटमेन्ट हुन सक्दैन
08:56 हामी एउटा अरे स्क्यान गर्न मल्टिडाइमेन्सनल तरिका भने प्रयोग गर्न सक्छौं
09:00 यसको लागि हामी split फंक्सन प्रयोग गरी for' स्टेटमेन्ट ले जोड्न सक्छौं
09:05 अब, split फंक्सन के हो बुझौं

split फंक्सन एउटा स्ट्रिंगलाई सानो टुक्राहरूमा छुट्टयाउन वा टुक्राउन प्रयोग गरिन्छ

09:14 र विभिन्न टुक्राहरू एउटा अरे मा राख्छ
09:18 सिन्ट्याक्स यस्तो छ, पहिलो आर्गुमेंट मा टुक्राउनुपर्ने स्ट्रिंग हुन्छ
09:25 दोस्रो आर्गुमेंट ले split() फंक्सनले छुट्टयाएको टुक्राहरू राख्ने अरे को नाम बुझाउँछ
09:33 तेस्रो आर्गुमेंट ले स्ट्रिंग टुक्राउन प्रयोग गरिने सेपरेटर जनाउँछ
09:39 पहिलो टुक्रा arr 1 मा भण्डार हुन्छ,
09:43 दोस्रो टुक्रा arr 2 मा र आदि.
09:48 मानौं, हामी पहिले नै सृजना गरेको अरे को इन्डेक्सहरूको अनुक्रम प्राप्त गर्न चाहन्छौं

हामी यो कसरी गर्न सक्छौं त?

09:56 मैले multi_scan.awk नामक कोड लेखेकी छु
10:02 सम्पूर्ण कोड BEGIN सेक्सन भित्र रहेको छ
10:06 पहिले, हामीले एउटा अरे a सृजना गरेका छौं र यसमा यी मानहरू राखेका छौं
10:12 अनि, हामीसँग एउटा iterator सहितको for लूप
10:16 iterator को मान प्रत्येक पटकको इन्डेक्स मान बराबर हुन्छ-

मानौं, 1 कमा 1, अनि 1 कमा 2 र आदि

10:27 split() फंक्सन ले iterator लाई SUBSEP ले छुट्टयाउदै टुक्रा पार्ने छ
10:34 यी टुक्राहरू अरे arr मा भण्डार हुन्छन्
10:38 यसरी, arr[1] arr[2] मा पहिलो इन्डेक्स र दोस्रो इन्डेक्स क्रमश: भण्डार हुने छ

यो फाइल एक्जिक्युट गरौं

10:48 टर्मिनल मा जाऊ र टाइप गरौं - awk स्पेस हाइफन सानो f स्पेस multi अन्डरस्कोर scan डट awk

एन्टर थिचौं

11:01 आउटपुट हेरौं, हामी मूल इन्डेक्सको अनुक्रम देख्न सक्छौं
11:07 सङ्क्षेपमा हेरौं, यो ट्युटोरियलमा हामीले यी कुराहरू सिक्यौं – awk मा एउटा मल्टिडाइमेन्सनल अरे सृजना गर्न र मल्टिडाइमेन्सनल अरे स्क्यान गर्न
11:18 कार्यको रूपमा,

एउटा 2-डाइमेन्सनल अरे ९० डिग्री रोटेट गरेर रोटेट भएको म्याट्रिक्स प्रिन्ट गर्ने एउटा awk स्क्रिप्ट लेख्नुहोस्

11:28 तलको लिङ्कमा उपलब्ध भिडियोले स्पोकन ट्युटोरियल प्रोजेक्टको सार दिन्छ

कृपया यसलाई डाउनलोड गरी हेर्नुहोला

11:36 स्पोकन ट्युटोरियल प्रोजेक्ट टिमले स्पोकन ट्युटोरियल प्रयोग गरी कार्यशालाहरू सन्चालन गर्छ

र अनलाइन टेस्ट पास गर्नेलाई प्रमाणपत्र प्रदान गर्छ

11:45 विस्तृत जानकारीको लागि हामीलाई सम्पर्क गर्नुहोस्
11:49 समय सहितको तपाईका जिज्ञासाहरू यो फोरममा पोस्ट गर्नुहोला
11:53 स्पोकन ट्युटोरियल प्रोजेक्टलाई NMEICT, MHRD, भारत सरकारको अनुदान रहेको छ

यो मिसन सम्बन्धि थप जानकारी तलको लिंकमा उपलब्ध छ

12:05 यो ट्युटोरियलमा स्पोकन ट्युटोरियल प्रोजेक्ट टिमको योगदान रहेको छ

आइआइटि बम्बेको तर्फबाट म मन्दिरा बिदा हुँदै छु, सहभागिताको लागि धन्यवाद, नमस्कार

Contributors and Content Editors

Mandira