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

From Script | Spoken-Tutorial
Revision as of 21:36, 15 August 2019 by NaveenBhat (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
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 पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः ।

Contributors and Content Editors

NaveenBhat, Sandhya.np14