कुछ बुनियादी उपयोगी कमांड
हमने आपको पहले से ही शैल स्क्रिप्ट का मूल ब्रेकडाउन दिया है और लूप के लिए एक उदाहरण-आधारित रूपरेखा दी है, लेकिन अगर आप हमारी शेल स्क्रिप्टिंग मार्गदर्शिका को अब तक याद कर चुके हैं तो उन लेखों को देखना सुनिश्चित करें।
कमांड लाइन कई कारणों से अद्भुत है, और पुनर्निर्देशन सबसे प्रमुख में से एक है। यदि आपको आगे की कार्रवाई करने या किसी अन्य चीज़ के लिए इसका उपयोग करने के लिए प्रत्येक आदेश के आउटपुट को नोट करना और पुन: उत्पन्न करना था, तो हम सब बहुत पहले पागल हो गए थे। पुनर्निर्देशन हमें उस आउटपुट का उपयोग करने और इसे सहेजने या तुरंत किसी अन्य कमांड के इनपुट के रूप में उपयोग करने देता है। हम फ़ाइलों को अन्य आदेशों के लिए इनपुट के रूप में भी उपयोग कर सकते हैं।
आगे बढ़ने से पहले, आइए कुछ बुनियादी आदेशों को कवर करें जो कई अलग-अलग स्थानों में उपयोग किए जा सकते हैं।
गूंज - यह आदेश आउटपुट के रूप में कमांड लाइन पर अपने तर्क की संपूर्णता को प्रिंट करता है (प्रदर्शित करता है)
echo argument with spaces
बिल्ली - यह आदेश आउटपुट के रूप में पाठ फ़ाइलों की सामग्री प्रदर्शित करता है।
cat file_to_be_read
मान लें कि हम इस पाठ फ़ाइल को नैनो में बनाते हैं:
grep pattern file
रीडायरेक्टिंग आउटपुट
फ़ाइल में कमांड के आउटपुट को रीडायरेक्ट करने के लिए, हम एक विशेष चरित्र का उपयोग करते हैं, प्रतीक से अधिक (>)।
आइए अपनी सूची बदल दें, क्या हम? निम्न आदेश दर्ज करें:
echo pepperoni > list
यह भी ध्यान रखें कि "सूची" की पिछली सामग्री हटा दी गई थी। दुबारा कोशिश कीजिये:
echo yellow peppers >> list
आइए कमांड का आउटपुट लें और इसे फाइल में डालें:
ls –al / > ~/rootlist
पाइपिंग, या चेनिंग
पाइपिंग का नाम इतना है क्योंकि यह पाइप का उपयोग करता है, (|; अधिकांश कीबोर्ड पर कुंजी के साथ साझा किया जाता है)। अनिवार्य रूप से, यह एक कमांड का आउटपुट लेता है और इसे सीधे दूसरे को खिलाता है। आप इस तरह से एक बहुत ही वांछित वांछित आउटपुट प्राप्त करने के लिए कमांड की लंबी श्रृंखला बना सकते हैं, और यह grep जैसे कमांड के लिए बहुत सुविधाजनक है।
जैसा कि आप देख सकते हैं, grep केस-संवेदी है। आप मामले को अनदेखा करने के लिए "-i" ध्वज का उपयोग कर सकते हैं।
इनपुट रीडायरेक्टिंग
आप कम से कम प्रतीक (<) का उपयोग कर कमांड के लिए फ़ाइलों से इनपुट ले सकते हैं।
cat < list
आइए मान लें कि हम किसी भी शब्द को फ़िल्टर करना चाहते हैं जिसमें "वर्तमान" सूची से "पेप" है, जिसे "संशोधन" नामक एक नई फ़ाइल में शामिल किया गया है।
grep pep < list > revisions
grep pep < list | sort > revisions
सॉर्ट कमांड को चित्रित करने के लिए, आइए निम्न उदाहरण देखें:
एक सरल स्क्रिप्ट
आइए एक स्क्रिप्ट बनाएं जिसमें निम्न फ़ॉर्म है:
script searchterm listfile
यह शब्द ले जाएगा और सूची फ़ाइल के माध्यम से खोजने के लिए grep का उपयोग करेगा, परिणामों को सॉर्ट करेगा, और फिर उन्हें दूसरी फ़ाइल में आउटपुट करेगा।
तुम वहाँ जाओ! जितना अधिक आप नियमित अभिव्यक्तियों के नियमों को सीखते हैं, उतना सटीक रूप से आप एक खोज कमांड को एक साथ रख सकते हैं। और, उद्धरण में मान्य कुछ भी आपके पहले तर्क के लिए प्रतिस्थापित किया जा सकता है!
जहां तक सॉर्टिंग हो जाती है, आप वर्णानुक्रम के अनुसार बस कुछ भी कर सकते हैं। निम्न में से कुछ आदेशों के लिए मैन पेज पर एक नज़र डालें:
- tsort - एक और उन्नत टोपोलॉजिकल सॉर्टिंग समारोह
- tr - आपको विशिष्ट वर्णों को अन्य वर्णों में मैप करने देता है, और उनके बीच प्रतिलेखन देता है।
- uniq - किसी भी गैर अद्वितीय (हटाएं: डुप्लिकेट) हटा देता है
- awk - वास्तव में उन्नत टेक्स्ट प्रोसेसिंग भाषा / फ़ंक्शन जिसका उपयोग फ़ाइल नामों में फ़ील्ड को अलग करने के लिए किया जा सकता है
- कट, पेस्ट / जॉइन - पाठ फ़ाइलों से फ़ील्ड को अलग करने और कॉलम में नया डेटा जोड़ने के लिए उपयोगी आदेश
- देखो - grep की तरह की खोज करता है, लेकिन लुकअप के लिए एक शब्दकोश फ़ाइल (जिसे उपयोगकर्ता निर्दिष्ट किया जा सकता है) का उपयोग करता है
- डब्ल्यूसी - आपको शब्द गणना, रेखा गणना, चरित्र गणना, आदि प्राप्त करने देता है
हमने आज कुछ और मूल बातें देखीं जो स्क्रिप्ट में कमांड लाइन पर उपयोगी हो सकती हैं। टेक्स्ट-आधारित डेटा अक्सर उन चीज़ों के दिल में होता है जिनका हम दैनिक उपयोग करते हैं, इसलिए इसके साथ काम करने में सक्षम होना, इसे खोजना और इसे कुशल बनाना महत्वपूर्ण है।
आपकी कुछ पसंदीदा स्क्रिप्ट क्या हैं? टेक्स्ट-आधारित फ़ाइलों के लिए कोई विशेष उपयोग स्क्रिप्ट है? टिप्पणियों में आप जो जानते हैं उसे साझा करें!