Linux-AWK/C2/Built-in-Functions-in-awk/Hindi

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 नमस्कार built-in functions in awk पर स्पोकन ट्यूटोरियल में आपका स्वागत है।
00:07 इस ट्यूटोरियल में हम विभिन्न प्रकार के built-in functions के बारे में सीखेंगे- जैसे Arithmetic functions
00:15 String functions
00:17 Input/Output functions और Time-stamp functions
00:23 हम इसे कुछ उदाहरणों के माध्यम से समझेंगे।
00:26 इस ट्यूटोरियल को रिकॉर्ड करने के लिए मैं उपयोग कर रही हूँ Ubuntu Linux 16.04 operating system और gedit text editor 3.20.1
00:38 आप अपने पसंद के किसी भी टेक्स्ट एडिटर का उपयोग कर सकते हैं।
00:42 इस ट्यूटोरियल का अभ्यास करने के लिए, आपको इस वेबसाइट पर पिछले awk ट्यूटोरियल्स को देखना चाहिए।
00:49 आपको किसी भी प्रोग्रामिंग भाषा का कुछ ज्ञान होना चाहिए जैसे C या C++.
00:56 यदि नहीं, तो कृपया हमारी वेबसाइट पर समरूपी ट्यूटोरियल्स देखें।
01:02 इस ट्यूटोरियल में उपयोगित फाइल्स इस ट्यूटोरियल के पेज पर Code Files लिंक में उपलब्ध हैं। कृपया उन्हें डाउनलोड और एक्स्ट्रैक्ट करें।
01:12 कॉल हेतु awk के लिए Built-in functions हमेशा उपलब्ध हैं।
01:17 पहले हम arithmetic functions के बारे में सीखेंगे।

square root function (sqrt (x)) नम्बर x का पॉजिटिव square root रिटर्न करता है।

01:27 int function x को एक इंटिजर वेल्यू में बदलता है।
01:32 exponential function x का एक्स्पोनेन्शल देता है।
01:37 log function x की वास्तविक logarithm वेल्यू रिटर्न करता है।
01:43 sin और cos क्रमशः sine(x) और cosine(x) देता है।
01:49 कृपया ध्यान दें कि argument x radians में उल्लिखित होना चाहिए।
01:55 इन functions को समझने के लिए एक उदाहरण देखते हैं।
02:00 मैंने पहले ही arithmetic underscore function dot awk फाइल में कोड लिखा है। वह Code Files लिंक में उपलब्ध है।
02:10 यहाँ, हम क्रमशः पॉजिटिव और निगेटिव नम्बर का square root प्रिंट कर कर रहे हैं।
02:17 आगे, हम क्रमशः पॉजिटिव और निगेटिव नम्बर के लिए इंटिजर वेल्यू प्रिंट कर रहे हैं।
02:24 फिर हम छोटे नम्बर और बहुत बड़े नम्बर का एक्स्पोनेन्शल प्रिंट कर रहे हैं।
02:31 उसके बाद, पॉजिटिव और निगेटिव नम्बर्स का वास्तविक logarithm प्रिंट होते हैं।
02:38 हम 0.52 radian की sine और cosine वेल्यूज भी प्रिंट कर रहे हैं, जो वास्तव में 30 degree है। अब टर्मिनल में फाइल का निष्पादन करें।
02:50 Ctrl, Alt और T कीज दबाकर टर्मिनल खोलें।
02:55 cd कमांड का उपयोग करके उस फोल्डर पर जाएं, जिसमें आपने फाइल को डाउनलोड और एक्स्ट्रैक्ट किया है।
03:03 अब टाइप करें awk space -f space arithmetic_function.awk और आउटपुट देखने के लिए एंटर दबाएं।
03:14 इस आउटपुट से कुछ चीजें स्पष्ट हैं।
03:18 sqrt() function पॉजिटिव नम्बर का square root देता है।
03:23 यह nan या not a number रिटर्न करता है, यदि नम्बर निगेटिव है।
03:29 int() किसी भी पॉजिटिव या निगेटिव नम्बर का खंडित इंटिजर देता है।
03:36 exp() नम्बर का एक्स्पोनेन्शल देता है। यदि नम्बर बहुत बड़ा है, तो function inf रिटर्न करेगा।
03:47 पॉजिटिव नम्बर का वास्तविक logarithm log() function द्वारा दिया जाता है।
03:53 यदि नम्बर निगेटिव है, तो function nan रिटर्न करता है।
03:58 Sine और cosine functions समरूपी वेल्यूज रिटर्न करता है। आप अपने कैलकुलेटर का उपयोग करके वेल्यू सत्यापित कर सकते हैं।
04:07 अब, random functions देखते हैं।
04:11 rand() 0 और 1 के बीच कोई भी रेंडम नम्बर रिटर्न करता है। लेकिन कभी भी 0 या 1 रिटर्न नहीं करता है।
04:21 उत्पन्न नम्बर्स एक awk निष्पादन में रेंडम होंगे।
04:27 लेकिन awk प्रोग्राम के भिन्न निष्पादनों में पूर्वानुमेय होंगे।
04:33 srand(x) random function के लिए seed value x प्रदान करने के लिए उपयोगित है।
04:39 x की अनुपस्थिति में, seed value के रूप में दिन की तारीख और समय का उपयोग किया जाता है। इन्हें एक उदाहरण के साथ समझते हैं।
04:49 मैंने random function के लिए कोड लिखा है और इसे random.awk में सेव किया है।
04:56 यहाँ, for loop में , rand() function 0 और 1 के बीच रेंडम नम्बर तैयार करेगा।
05:04 फिर तैयार नम्बर को 50 से गुणा किया जायेगा और प्रिंट होगा।
05:10 अतः, यह कोड 50 के भीतर 5 रेंडम नम्बर्स तैयार करेगा।
05:16 टर्मिनल पर जाएं और फाइल निष्पादित करें। टर्मिनल को साफ करें।
05:23 टाइप करें: awk space hyphen f space random dot awk और एंटर दबाएं।
05:31 देखें, यह 5 रेंडम नम्बर्स दे रहा है।
05:35 क्या होता है, यदि हम कोड को फिर से निष्पादित करते हैं?
05:39 पिछली निष्पादित कमांड को प्राप्त करने के लिए अप ऐरो की दबाएं और एंटर दबाएं।
05:47 हमें वही आउटपुट मिल रहा है। जिसका अर्थ हैं, awk , स्क्रिप्ट के प्रत्येक निष्पादन के लिए रेंडम नम्बर्स का समान सेट तैयार कर रहा है।
05:57 तो हम प्रत्येक निष्पादन में रेंडम नम्बर्स का नया सेट कैसे प्राप्त कर सकते हैं?

फिर से कोड पर जाएं।

06:06 for loop के पहले, टाइप करें srand() function
06:11 फाइल को सेव करने के लिए Crtl और S कीज दबाएं।
06:16 अब टर्मिनल पर जाएं।
06:19 पिछली निष्पादित कमांड प्राप्त करने के लिए अप ऐरो की दबाएं और एंटर दबाएं।
06:27 यह रेंडम नम्बर्स का भिन्न सेट दे रहा है।
06:31 अतः हम srand function का उपयोग करके रेंडम नम्बर्स का नया सेट तैयार कर सकते हैं, जब यह argument के बिना उपयोग होता है।
06:40 आगे, कुछ string functions देखेंगे। length function विशिष्ट string s की लंबाई दर्शाता है।
06:49 index function बड़े string s1 में string s2 की पॉजिशन निर्धारित करता है।
06:57 उदाहरणस्वरूप index parentheses में double quotes में linux comma double quotes में n, 3 रिटर्न करता है। एक उदाहरण देखते हैं।
07:10 awkdemo.txt फाइल खोलें।
07:14 हम जानते हैं कि awkdemo.txt फाइल में प्रत्येक छात्र का 4 अंक का रोल नम्बर है।
07:21 टाइपिंग एरर के कारण, रोल नम्बर में अंकों के गलत नम्बर हो सकते हैं।

हम awk commands का उपयोग करके इनको आसानी से डिलीट कर सकते हैं।

07:30 टर्मिनल पर जाएं। टर्मिनल साफ करें।
07:36 अब दिखाए गए अनुसार कमांड टाइप करें। यहाँ हम जाँच कर रहे हैं कि 1st फिल्ड की लंबाई 4 के बराबर है या नहीं।
07:46 यदि नहीं, तो वह विशिष्ट रिकॉर्ड प्रिंट होगा। एंटर दबाएं।
07:53 देखें, यहाँ एक रोल नम्बर S02 है जो गलत टाइप किया है।
08:00 इसमें तीन अंक हैं, जबकि अन्य सभी में चार अंक हैं।
08:07 substr(s,a,b) function बड़े string s से substring एक्स्ट्रैक्ट करता है।
08:14 मैं पैरामीटर्स समझाती हूँ।
08:17 यहाँ s string है।
08:20 a s में पॉजिशन निर्दिष्ट करता है। जिससे एक्स्ट्रैक्शन शुरू होगा ।
08:26 b कैरेक्टर्स के नम्बर निर्दिष्ट करता है, जो एक्स्ट्रैक्ट किए जायेंगे। एक उदाहरण देखते हैं।
08:33 awkdemo.txt फाइल पर जाएं।
08:37 रोल नम्बर्स का पहला अक्षर Hostel code दर्शाता है, जहाँ विशिष्ट छात्र रहता है।
08:46 मानिए, हम उन छात्रों की सूची पता करना चाहते हैं, जो हॉस्टल A में रह रहे हैं।
08:52 वह प्राप्त करने के लिए, टर्मिनल पर जाएं।
08:56 यहाँ दिखाए गए अनुसार कमांड टाइप करें।
09:00 यहाँ हम $1 से निर्दिष्ट string लेते हैं।
09:05 जैसा कि हम जानते हैं $1 पहले फिल्ड का प्रतिनिधित्व करता है, जो हमारे मामले में रोल नम्बर है।
09:12 आगे हम substring एक्स्ट्रैक्ट करते हैं जो एक कैरेक्टर लंबाई के साथ पॉजिशन एक से शुरू होता है।
09:19 फिर, यदि यह केपिटल A के बराबर है, तो वह लाइन फाइल से प्रिंट होगी। आउटपुट को देखने के लिए एंटर दबाएं।
09:29 हमें उन छात्रों की सूची मिल गई है, जो हॉस्टल A में हैं।
09:34 हमने function split पहले देखा है। अतः मैं यहाँ विस्तार से नहीं समझा रही हूँ।
09:40 कृपया पिछले awk ट्यूटोरियल्स देखें यदि आपको को संदेह है।
09:45 यहाँ कुछ अन्य functions हैं जो Input/Output से संबंधित हैं।

system() function awk में कोई भी unix command रन करने में हमें मदद करता है।

09:56 अब, हम awk command के माध्यम से unix command date रन करेंगे।
10:01 टर्मिनल में यहाँ दिखाए गए अनुसार कमांड टाइप करें। और एंटर दबाएं।
10:09 आउटपुट के रूप में टर्मिनल पर आज की तारीख और समय प्रदर्शित होता है।
10:15 अब, हमें यह क्यों चाहिए? हमने awk command का केवल BEGIN सेक्शन रखा है।
10:21 वास्तविक दुनिया में, हम आवश्यक आउटपुट प्रदर्शित करने से पहले system date प्रिंट करना चाह सकते हैं।
10:28 ऐसे मामले में, हमें awk command' से system commands को निष्पादित करने की आवश्यकता होगी।
10:34 यहाँ कुछ functions time stamps के साथ कार्यवाही करते हैं जैसे systime(), strftime() , आदि।
10:43 इन functions के बारे में जानने के लिए इंटनेट से ब्राउज करें।
10:48 इसी के साथ हम इस ट्यूटोरियल के अंत में आ गए हैं।

संक्षेप में।

10:53 इस ट्यूटोरियल में हमने built-in functions के विभिन्न प्रकारों के बारे में सीखा जैसे Arithmetic functions, String functions, Input/Output functions और Time stamps functions
11:06 नियत कार्य के रूप में- awkdemo.txt फाइल का उपयोग करके प्रत्येक रिकॉर्ड के आखिरी फिल्ड को प्रिंट करने के लिए एक awk प्रोग्राम लिखें।
11:13 जहाँ तीसरे अक्षर के रूप में छात्र का नाम छोटा u है
11:22 निम्नलिखित लिंक पर मौजूद वीडियो, स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। कृपया इसे डाउनलोड करें और देखें।
11:30 स्पोकन ट्यूटोरियल प्रोजेक्ट टीम, स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएँ आयोजित करती है और ऑनलाइन टेस्ट पास करने पर प्रमाणपत्र देती है। अधिक जानकारी के लिए, कृपया हमें लिखें।
11:43 कृपया इस फोरम में अपनी समयबद्ध क्वेरी पोस्ट करें।
11:47 स्पोकन ट्यूटोरियल प्रोजेक्ट NMEICT, MHRD, भारत सरकार द्वारा वित्त पोषित है। इस मिशन पर अधिक जानकारी दिखाए गए लिंक पर उपलब्ध है।
11:59 यह स्क्रिप्ट विकास द्वारा अनुवादित है। मैं जया अब आपसे विदा लेती हूँ। हमसे जुडने के लिए धन्यवाद।

Contributors and Content Editors

Sakinashaikh