1. Learn
  2. /
  3. कोर्स
  4. /
  5. Shell परिचय

Connected

अभ्यास

मैं फ़ाइलनामों को स्क्रिप्ट्स में कैसे पास कर सकता/सकती हूँ?

ऐसी स्क्रिप्ट जो कुछ खास फ़ाइलें प्रोसेस करे, यह दर्ज रखने के लिए उपयोगी है कि आपने क्या किया। लेकिन जो स्क्रिप्ट आप अपनी पसंद की कोई भी फ़ाइल प्रोसेस करने के लिए चला सकें, वह और ज्यादा उपयोगी होती है. इसे सपोर्ट करने के लिए, आप विशेष अभिव्यक्ति $@ (डॉलर साइन के तुरंत बाद एट-साइन) का उपयोग कर सकते हैं, जिसका अर्थ है "स्क्रिप्ट को दिए गए सभी कमांड-लाइन पैरामीटर".

उदाहरण के लिए, अगर unique-lines.sh में sort $@ | uniq है, तो जब आप यह चलाते हैं:

bash unique-lines.sh seasonal/summer.csv

तो शेल $@ को seasonal/summer.csv से बदल देता है और एक फ़ाइल प्रोसेस होती है। अगर आप यह चलाते हैं:

bash unique-lines.sh seasonal/summer.csv seasonal/autumn.csv

तो यह दो डेटा फ़ाइलें प्रोसेस करता है, और इसी तरह आगे भी.

याद दिलाने के लिए, Nano में जो आपने लिखा है उसे सेव करने के लिए Ctrl + O दबाकर फ़ाइल लिखें, फिर फ़ाइलनाम कन्फर्म करने के लिए Enter दबाएँ, और फिर एडिटर से बाहर निकलने के लिए Ctrl + X दबाएँ.

निर्देश 1/2

undefined XP
  • 1

    Nano के साथ स्क्रिप्ट count-records.sh एडिट करें और दोनों ____ placeholders को क्रमशः $@ और -l (अक्षर) से भरें ताकि यह एक या अधिक फ़ाइलों में लाइनों की संख्या गिने, प्रत्येक फ़ाइल की पहली लाइन को छोड़कर.

  • 2

    count-records.sh को seasonal/*.csv पर चलाएँ और आउटपुट को num-records.out में > का उपयोग करके रीडायरेक्ट करें.