Linux-AWK/C2/Built-in-Functions-in-awk/Sanskrit
|
|
00:01 | Built-in functions in awk इति पाठार्थं भवद्भ्यः स्वागतम् । |
00:07 | पाठेऽस्मिन् वयम्, नाना ‘बिल्ट्-इन्-फङ्क्षन्स्’ रूपेण -
अरिथ्मेटिक् (arithmetic) फङ्क्षन्स्, |
00:15 | स्ट्रिङ्ग् (string) फङ्क्षन्स्, |
00:17 | इन्पुट्/औट्पुट् फङ्क्षन्स् अपि च
टैम्-स्टेम्प् (Time-stamp) फङ्क्षन्स् इत्येतान् विषयान् ज्ञास्यामः । |
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:12 | awk इत्यस्मै, काल्-कर्तुं 'बिल्ट्-इन्-फङ्क्षन्स्' (Built-in functions), सर्वदा उपलभ्यन्ते । |
01:17 | वयमादौ अङ्कगणितस्य फङ्क्षन्स् पठामः ।
‘स्क्वेर्-रूट्-फङ्क्षन्’ (sqrt (x)) – सङ्ख्या x इत्यस्याः धनात्मकवर्गमूलं प्रत्यर्पयति । |
01:27 | int(x) फङ्क्षन्- x इतीदं पूर्णाङ्कमूल्याय लुनाति ।(truncate). |
01:32 | exponential फङ्क्षन् (exp(x)) - x घाताङ्कं प्रतिददाति । |
01:37 | log(x) फङ्क्षन्- x इत्यस्य नेचुरल्-लोगेरिदम्-वेल्यू इतीदं प्रत्यर्पयति । |
01:43 | sin(x) अपि च cos(x) इतीमे, क्रमेण sine(x) अपि च cosine(x) ऐतीमे दत्तः । |
01:49 | कृपया अवलोकयन्तु : अत्र ओर्ग्युमेण्ट् 'x' इतीदं रेडियन्-द्वारा वक्तवयम् । |
01:55 | इमानि फङ्क्षन्स् ज्ञातुम् एकमुदाहरणं पश्याम । |
02:00 | अहं तावदेव कोड्-इतीदं arithmetic underscore function dot awk सञ्चिकायां लिखितवानस्मि ।
इदं Code Files लिङ्क्-मध्ये उपलभ्यते । |
02:10 | वयमत्र, क्रमेण एकस्य धनात्मकस्याः अपि च ऋणात्मकस्याः सङ्ख्यायाः वर्गमूलं मुद्रापयामः । |
02:17 | पश्चात्, क्रमेण धनात्मकानाम् ऋणात्मकानां सङ्ख्यानां पूर्णाङ्क-मूल्यं मुद्रापयामः । |
02:24 | पश्चात्, एकस्याः लघुसङ्ख्यायाः अपि च गुरुसङ्ख्यायाः घाताङ्कान् मुद्रापयामः । |
02:31 | पश्चात्, धनात्मकानाम् ऋणात्मकानां सङ्ख्यानां नेचुरल् लोगेरिदम् इतीदं मुद्रापयामः । |
02:38 | वयं 0.52 रेडियन् इत्यस्मै , अर्थात् 30 डिग्री इत्यस्मै, sine अपि च cosine मूल्यं मुद्रापयामः ।
टर्मिनल्-मध्ये वयम् इमां सञ्चिकाम् एक्सिक्यूट् कुर्मः । |
02:50 | CTRL, ALT अपि च T कीलकनोदनेन टर्मिनल् उद्घाटयन्तु । |
02:55 | पश्चात् cd कमाण्ड् उपयुज्य, भवन्तः Code Files इतीदं डौन्लोड् तथा एक्स्ट्रेक् कृतं फोल्डर् प्रति गच्छन्तु । |
03:03 | अधुना एवं टङ्कयन्तु :
awk space -f space arithmetic_function.awk अपि च औट्पुट् ड्रुष्टुं Enter नुदन्तु । |
03:14 | अनेन औट्पुट्द्वारा केचनविषयाः स्पष्टाः अभूवन् । |
03:18 | sqrt() फङ्क्षन्, धनात्मकसङ्ख्यायाः वर्गमूलं प्रतिददाति । |
03:23 | सङ्ख्या ऋणात्मका यद्यस्ति, तर्हि तत् nan (नेन्) अथवा not a number इतीदं प्रतिददाति । |
03:29 | int() इतीदं, कस्याश्चन धनात्मकायाः ऋणात्मकायाः वा सङ्ख्यायाः लूनं पूर्णाङ्कं ददाति । |
03:36 | exp() सङ्ख्यायाः घाताङ्कं प्रतिददाति ।
सङ्ख्या दीर्घा अस्ति चेत् , फङ्क्षन्, inf (ऐ एन् एफ़्) इतीदं प्रत्यर्पयति ।(return). |
03:47 | log() फङ्क्षन्, धनात्मकसङ्ख्यायाः नेचुरल् लोगेरिदम् इतीदं ददाति । |
03:53 | सङ्ख्या ऋणात्मका चेत्, फङ्क्षन् ‘nan’ इतीदं रिटर्न् करोति । |
03:58 | Sine अपि च cosine फङ्क्षन्स्, तत्सम्बद्धमूल्यानि रिटर्न् कुरुतः ।
भवतां केल्क्युलेटर् सहाय्येन भवन्तः मूल्यं परीक्षितुं शक्नुवन्ति । |
04:07 | अधुना, वयं random फङ्क्षन्स् पश्याम । |
04:11 | rand() फङ्क्षन्, 0 अपि च 1 अनयोः मध्ये किमपि random सङ्ख्यां रिटर्न्-करोति । परन्तु कदापि 0 अथवा 1 इतीदं रिटर्न् न करोति । |
04:21 | एकस्य awk एक्सिक्यूशन्-इत्यस्यान्तः , रचिताः सङ्ख्याः random वर्तन्ते । |
04:27 | परन्तु, awk प्रोग्राम् इत्यस्य नाना एक्सिक्यूशन्स्-मध्ये, सङ्ख्याः ऊहितुं शक्याः । |
04:33 | random फङ्क्षन् इत्यस्मै, सीड्-वेल्यू x इतीदं दातुं, srand(x) फङ्क्षन् उपयुज्यते । |
04:39 | 'x' न विद्यमाने सति, दिनाङ्कं समयञ्च ‘सीड् वेल्यू’ इति उपयुञ्जन्ति ।
एकेन उदाहरणेन सह इमानि ज्ञास्यामः । |
04:49 | अहं random फङ्क्षन् इत्यस्मै कोड् लोखितवानस्मि । तच्च random.awk इति रक्षितवानस्मि । |
04:56 | अत्र, for लूप् इत्यस्यान्तः , rand() फङ्क्षन्, 0 अपि च 1 अनयोः मध्ये विद्यमानां random सङ्ख्यां रचयति । |
05:04 | इमां सङ्ख्यां 50 इत्यनेन सङ्गुणय्य , पश्चात् प्रिण्ट् क्रियते । |
05:10 | अतः, इदं कोड्, 50 इत्यस्य मध्यस्थाः 5(पञ्च) random-सङ्ख्याः रचयति । |
05:16 | 'टर्मिनल्' गत्वा सञ्चिकाम् एक्सिक्यूट् कुर्वन्तु ।
'टर्मिनल्' रिक्तं करोमि । |
05:23 | एवं टङ्कयन्तु : awk space hyphen f space random dot awk अपि च Enter नुदन्तु । |
05:31 | पश्यताम् यत्, इदं 5 random सङ्ख्याः यच्छन्नस्ति । |
05:35 | मया पुनः कोड् एक्सिक्यूट् क्रियते चेत् किं भविष्यति ? |
05:39 | एक्सिक्यूट्-कृतं पूर्वतन-कमाण्ड् प्राप्तुं , 'अप्-एरो' कीलकं नुदन्तु । Enter नुदन्तु च । |
05:47 | वयं तदेव फलितं प्राप्नुमः ।
अस्यार्थः, प्रत्येकं स्क्रिप्ट्-एक्सिक्यूशन्-मध्ये, awk, random सङ्ख्यानां तदेव सेट् उत्पादयति । |
05:57 | परन्तु, प्रत्येकम् एक्सिक्यूशन्-मध्ये, वयं random सङ्ख्यानां नूतनं सेट् कथं प्राप्तुं शक्नुमः?
पुनः कोड्-प्रति आगच्छन्तु । |
06:06 | for लूप् इत्यस्यादौ, srand() फङ्क्षन् टङ्कयन्तु । |
06:11 | सञ्चिकां रक्षितुं , Ctrl तथा S कीलके नुदन्तु । |
06:16 | अधुना 'टर्मिनल्' प्रति आगच्छन्तु । |
06:19 | एक्सिक्यूट्-कृतं पूर्वतन-कमाण्ड्-प्राप्तुं, 'अप्-एरो' कीलकं नुदन्तु । Enter नुदन्तु च । |
06:27 | इदं random सङ्ख्यानां विभिन्नं सेट् यच्छन्नस्ति । |
06:31 | अतः, srand() फङ्क्षन् इतीदं विना ओर्ग्युमेण्ट् उपयुज्यते चेत्, वयं random सङ्ख्यानां नूतनं सेट् रचितुं शक्नुमः । |
06:40 | पश्चात्, कानिचन 'स्ट्रिङ्ग् ' फङ्क्षन्स् पश्यामः ।
length फङ्क्षन्, एकस्य स्ट्रिङ्ग् 's' इत्यस्य दैर्घ्यं यच्छति । |
06:49 | index() फङ्क्षन्, बृहत्-स्ट्रिङ्ग् 's1' इत्यस्यान्तः, स्ट्रिङ्ग् 's2' इत्यस्य स्थानं निर्धारयति । |
06:57 | उदाहरणार्थं, index within parentheses within double quotes linux comma within double quotes n. इदं 3 इतीदं प्रतिददाति ।
एकमुदाहरणं पश्यामः । |
07:10 | awkdemo.txt सञ्चिकाम् उद्घाटयन्तु । |
07:14 | Awkdemo.txt सञ्चिकायां प्रत्येकः विद्यार्थी, 4 अङ्कानां roll number प्राप्तवान् अस्ति इति वयं ज्ञातवन्तः । |
07:21 | टङ्कणदोषात्, रोल्-नम्बर्स् दोषपूर्णायाः सङ्ख्यायाः अङ्कयुतानि स्युः ।
awk कमाण्ड्-उपयुज्य, इमानि सरलतया अन्वेषितुमर्हन्ति । |
07:30 | 'टर्मिनल्' गत्वा तं रिक्तं करोमि । |
07:36 | अधुना अत्र यथा दर्शितं तथा कमाण्ड् टङ्कयन्तु ।
वयमत्र प्रथम-फील्ड्-दैर्घ्यम्, 4 इत्यस्मै सममस्ति वा नवेति परीक्षामहे । |
07:46 | न चेत्, तन्निर्दिष्टं रेकोर्ड् मुद्राप्यते । Enter नुदन्तु । |
07:53 | पश्यतां यत्, अत्र रोल्-नम्बर् S02 इतीदं दोषैः सह टङ्कितम् । |
08:00 | इदं अङ्कत्रययुतम् अस्ति । परन्तु अन्यानि अङ्कचतुष्टययुतानि । |
08:07 | substr(s,a,b) फङ्क्षन्, बृहत् स्ट्रिङ्ग् 's इत्यनेन, सब्स्ट्रिङ्ग्-इतीदम् extract करोति । |
08:14 | अहं प्यारामीटर्स् विवरिष्यामि । |
08:17 | अत्र, 's' स्ट्रिङ्ग् वर्तते । |
08:20 | 'a' - 's' मध्ये, extraction प्रारम्भस्थानं सूचयति । |
08:26 | 'b' - extract जायमानानां वर्णानां सङ्ख्यां सूचयति ।
एकमुदाहरणं पश्याम । |
08:33 | awkdemo.txt सञ्चिकां प्रति गच्छन्तु । |
08:37 | ‘रोल्-नम्बर्’ इत्यस्य प्रथमम् अक्षरम्, तस्य विद्यार्थिनः वासस्य होस्टेल्-कोड् सूचयति । |
08:46 | होस्टेल् A मध्ये निवसमानानं विद्यार्थिनां आवलिः अस्माभिः अन्वेष्टव्या । |
08:52 | तत्प्राप्तुं , वयं 'टर्मिनल्' गमिष्यामः । |
08:56 | अत्र यथा दर्शितं तथा कमाण्ड्-टङ्कणं कुर्वन्तु । |
09:00 | वयमत्र $1 इत्यनेन सूचितानि स्ट्रिङ्ग् गृह्णीमः । |
09:05 | अस्माभिः ज्ञातं यत्, $1 प्रथमं फील्ड् अभ्यनुशास्ति । अस्मिन् सन्दर्भे तत् ‘रोल् नम्बर्’ वर्तते । |
09:12 | पश्चात् वयं , one स्थानेन आरभमाणं तथा character length one विद्यमानं , सब्-स्ट्रिङ्ग् इतीदम् extract कुर्मः । |
09:19 | तत् केपिटल् 'A' इत्यस्मै सममस्ति चेत्, सञ्चिकास्थां तां पङ्क्तिं मुद्रापयामः ।
औट्पुट् दृष्टुं, Enter नुदन्तु । |
09:29 | अत्र, होस्टेल् A मध्ये निवसमानानां विद्यार्थिनां आवलिं वयं प्राप्तवन्तः । |
09:34 | वयं पूर्वमेव फङ्क्षन्split() इतीदं दृष्टवन्तः । अतोऽहमत्र न विवरीतवान् । |
09:40 | भवद्भ्यः सन्देहः वर्तते चेत्, कृपया पूर्वतन awk पाठान् पश्यन्तु ।. |
09:45 | अत्र, इन्पुट् / औट्पुट् सम्बद्धानि कानिचन फङ्क्षन्स् सन्ति ।
system() फङ्क्षन्- awk मध्ये, कानिचन unix कमाण्ड्स् रन्-कर्तुम् उपकरोति । |
09:56 | वयमधुना unix' कमाण्ड् date इतीदम्, awk द्वारा रन् कुर्मः । |
10:01 | 'टर्मिनल्' मध्ये, अत्र दर्शितानि कमाण्ड्स् टङ्कयित्वा Enter नुदन्तु । |
10:09 | 'टर्मिनल्' मध्ये, अद्यतन दिनाङ्कः कालश्च फलिते दर्शितौ । |
10:15 | अधुना, अस्माकमिदं किमर्थमावश्यकम्? वयं केवलं awk कमाण्ड्-इत्यस्य BEGIN विभागं स्थापितवन्तः । |
10:21 | वास्तवे, आवश्यकफलितस्य दर्शनात् प्राग् वयम्, 'सिस्टम्-डेट्' मुद्रापयितुं कदाचित् इच्छामः । |
10:28 | तादृशसन्दर्भे, अस्माभिः सिस्टम्-कमाण्ड्-इतीमानि awk कमाण्ड्-द्वारा एक्सिक्यूट् कर्तव्यमपेक्ष्यते । |
10:34 | अत्र, टैम्-स्टेम्प् इत्यनेन सह व्यवहरिष्यमाणानि systime(), strftime() सदृशानि फङ्क्षन्स् सन्ति । |
10:43 | इमानि फङ्क्षन्स् ज्ञातुं अन्तर्जाले गवेषयन्तु । |
10:48 | अनेन वयं पाठस्यान्तम् आगतवन्तः ।
सङ्क्षेपेण, |
10:53 | पाठेऽस्मिन् वयम्,
Arithmetic फङ्क्षन्स्, स्ट्रिङ्ग् फङ्क्षन्स् , इन्पुट्/औट्पुट् फङ्क्षन्स् अपि च टैम्-स्ट्रेम्प् फङ्क्षन्स् एतानि बिल्ट्-इन् फङ्क्षन्स् विषयान् ज्ञातवन्तः । |
11:06 | अत्रास्ति एकं पाठनियोजनम् -
awkdemo.txt सञ्चिकामुपयुज्य, विद्यार्थिनामनि लघुu इतीदं तृतीयाक्षरत्वेन प्राप्तानि, |
11:13 | प्रत्येकस्य रेकोर्ड् इत्यस्य अन्तिमं फील्ड् मुद्रापयितुं एकम् awk प्रोग्राम् लिखन्तु । |
11:22 | पर्चन्याम् विद्यमानं विडियो, “spoken tutorial” प्रकल्पस्य सारं दर्शयति । तदवचित्य पश्यन्तु । |
11:30 | “spoken tutorial” प्रकल्पगणः, इमान् पाठान् उपयुज्य कार्यशालां चालयति । उत्तीर्णेभ्यः प्रमाणपत्रं ददाति । अधिकविवरणार्थम् अस्मभ्यं लिखन्तु । |
11:43 | भवतां प्रश्नान् मिनिट् सेकेण्ड् इत्यनयोः सह फोरं मध्ये लिखन्तु । |
11:47 | "Spoken Tutorial" प्रकल्पः, NMEICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवान् अस्ति । अधिकविवरणं अस्यां पर्चन्याम् उपलभ्यते । |
11:59 | पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः । |