परिचय और रिफ्रेशर

Bash Scripting परिचय

Alex Scriven

Data Scientist

कोर्स का परिचय

इस कोर्स में आप सीखेंगे:

  • कमांड-लाइन से Bash स्क्रिप्ट तक जाना
  • Bash स्क्रिप्टिंग में वैरिएबल और डेटा टाइप्स
  • कंट्रोल स्टेटमेंट्स
  • फंक्शंस और स्क्रिप्ट ऑटोमेशन
Bash Scripting परिचय

क्यों Bash स्क्रिप्टिंग? (Bash)

पहले, क्यों Bash?

  • Bash का मतलब 'Bourne Again Shell' है (एक पन)

  • 80's में बना, पर आज भी बहुत लोकप्रिय शेल. कई Unix सिस्टम्स, Macs पर डिफॉल्ट

  • Unix ही इंटरनेट है! (ML Models, Data Pipelines चलते हैं)

    • AWS, Google, Microsoft के प्रोडक्ट्स के लिए CLI होते हैं
Bash Scripting परिचय

क्यों Bash स्क्रिप्टिंग? (स्क्रिप्टिंग!)

तो Bash स्क्रिप्टिंग क्यों?

  • शेल कमांड्स चलाना आसान होता है (हर बार कॉपी-पेस्ट नहीं!)
  • पावरफुल प्रोग्रामिंग कंस्ट्रक्ट्स
Bash Scripting परिचय

अपेक्षित ज्ञान

 

इस कोर्स के लिए आपसे कुछ बेसिक नॉलेज अपेक्षित है.

  • कमांड-लाइन (टर्मिनल, शेल) क्या है, समझते हों
  • cat, grep, sed जैसी बेसिक कमांड्स इस्तेमाल की हों

अगर थोड़ी जंग लगी है तो चिंता न करें — अभी रिवाइज करेंगे!

Bash Scripting परिचय

शेल कमांड्स रिफ्रेशर

कुछ महत्वपूर्ण शेल कमांड्स:

  • (e)grep regex पैटर्न-मैचिंग के आधार पर इनपुट फिल्टर करता है
  • cat फ़ाइल की सामग्री लाइन-बाय-लाइन जोड़ता है
  • tail \ head केवल आखिरी या पहली -n (एक फ्लैग) लाइन्स देते हैं
  • wc शब्द/लाइन काउंट करता है (फ्लैग्स -w -l के साथ)
  • sed पैटर्न-मैच्ड स्ट्रिंग रिप्लेसमेंट करता है
Bash Scripting परिचय

REGEX की याद दिलाएँ

'Regex' या regular expressions Bash स्क्रिप्टिंग के लिए जरूरी स्किल है.

आपको अक्सर फ़ाइलें, फ़ाइल के अंदर डेटा, आर्ग्युमेंट्स आदि मैच/फिल्टर करने होंगे. इसे फिर से देखना उपयोगी है.

अपना regex टेस्ट करने के लिए regex101.com जैसे साइट्स का प्रयोग करें

Bash Scripting परिचय

कुछ शेल प्रैक्टिस

आइए एक उदाहरण से कुछ शेल कमांड्स रिवाइज करें.

एक टेक्स्ट फ़ाइल fruits.txt मानिए, जिसमें 3 लाइन्स हैं:

banana
apple
carrot

अगर हम grep 'a' fruits.txt चलाएँ तो आउटपुट होगा:

banana
apple
carrot
Bash Scripting परिचय

कुछ शेल प्रैक्टिस

पर अगर हम grep 'p' fruits.txt चलाएँ तो मिलेगा:

apple

याद रखें, स्क्वेयर ब्रैकेट्स एक मैचिंग सेट होते हैं जैसे [eyfv]. ^ लगाने से यह इनवर्स सेट बन जाता है (इन अक्षरों/अंकों के अलावा)

तो अगर हम grep '[pc]' fruits.txt चलाएँ तो मिलेगा:

apple
carrot
Bash Scripting परिचय

कुछ शेल प्रैक्टिस

आपने शायद टर्मिनल में 'pipes' का उपयोग किया होगा. अगर फ़ाइल में बहुत सारे फल हों, तो हम sort | uniq -c कर सकते हैं

  • पहला अल्फाबेटिकली sort करेगा, दूसरा काउंट देगा
  • टॉप n फल चाहिए हों तो आगे wc -l और head से पाइप करें
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Bash Scripting परिचय

अभ्यास करते हैं!

Bash Scripting परिचय

Preparing Video For Download...