Linux-AWK/C2/Built-in-Functions-in-awk/Hindi
From Script | Spoken-Tutorial
Revision as of 09:44, 8 July 2019 by Sakinashaikh (Talk | contribs)
|
|
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 | यह स्क्रिप्ट विकास द्वारा अनुवादित है। मैं जया अब आपसे विदा लेती हूँ। हमसे जुडने के लिए धन्यवाद। |