बाश में एक फाइल को कैसे लिखें

How Write File Bash



बैश स्क्रिप्टिंग के साथ काम करते समय हम जो आवश्यक कार्य करते हैं उनमें से एक है फाइलों को पढ़ना और लिखना। इस गाइड में, हम इस बात पर ध्यान देंगे कि फ़ाइलों को बैश में कैसे पढ़ा जाए और उन्हें कैसे संपादित किया जाए।

बैश में फ़ाइल को पढ़ने और लिखने के कई तरीके हैं। ऑपरेटरों > और >> का उपयोग करने का सबसे आसान तरीका है।







  • > ऑपरेटर मौजूदा डेटा को अधिलेखित कर देगा
  • >> ऑपरेटर डेटा जोड़ देगा

पुनर्निर्देशन ऑपरेटरों का उपयोग करने का सामान्य प्रारूप है:



डेटा > फ़ाइल का नाम
डेटा >> फ़ाइल का नाम

आइए एक उदाहरण के साथ फ़ाइल प्रक्रिया को लिखने को समझते हैं:



पुनर्निर्देशन ऑपरेटरों का उपयोग करके फ़ाइल कैसे लिखें

जैसा कि ऊपर चर्चा की गई है, फ़ाइल को लिखने का सरल और सीधा तरीका पुनर्निर्देशन ऑपरेटरों का उपयोग करना है। उदाहरण के लिए, यदि आप पहले से मौजूद फ़ाइल के टेक्स्ट को बदलना चाहते हैं, तो सबसे पहले के नाम से एक टेक्स्ट फ़ाइल बनाएं testfile.txt और उसमें कुछ भी लिखें:





टेक्स्ट फ़ाइल सहेजें।



टर्मिनल में नीचे दी गई कमांड टाइप करें:

$ इको फ़ाइल में मौजूदा टेक्स्ट को ओवरराइट करना > testfile.txt

ओवर राइटिंग जोखिम भरा हो सकता है; इसलिए, नोक्लोबर को सक्षम करना अच्छा अभ्यास है। noclobber सेट करने से किसी भी बाहर निकलने वाली फ़ाइल में कोई भी ओवरराइटिंग अवरुद्ध हो जाएगी।

$ सेट -ओ नोक्लोबर
$ इको फ़ाइल में मौजूदा टेक्स्ट को ओवरराइट करना > testfile.txt

लेकिन अगर आप noclobber को बायपास करना चाहते हैं तो इसका इस्तेमाल करें > | के बजाय ऑपरेटर > :

$ गूंज फ़ाइल में मौजूदा पाठ को अधिलेखित करना >| testfile.txt

या आप बस noclobber को अक्षम कर सकते हैं:

$ सेट + या नोक्लोबर

लेकिन यह कमांड सभी फाइलों से सुरक्षा छीन लेगी।

उपरोक्त आउटपुट इंगित कर रहा है कि मौजूदा टेक्स्ट को अधिलेखित कर दिया गया है। अब, आइए का उपयोग करें >> ऑपरेटर:

$ इको मौजूदा टेक्स्ट फ़ाइल में टेक्स्ट जोड़ना >> testfile.txt

फेंक दिया उपयोग करने के लिए हमेशा आदर्श नहीं होता है क्योंकि आप इसका उपयोग करके पाठ को प्रारूपित नहीं कर सकते हैं, इसलिए पाठ को प्रारूपित करने के लिए प्रतिध्वनि के स्थान पर प्रिंटफ का उपयोग करें जैसा कि निम्नलिखित कमांड में दिखाया गया है:

$ प्रिंटफ स्वागत है यह एक नई टेक्स्ट फाइल है। > newtestfile.txt

आइए एक बैश स्क्रिप्ट उदाहरण के साथ अवधारणा को समझते हैं। टर्मिनल में विम टाइप करके विम खोलें। यदि आपके डिवाइस पर विम संपादक नहीं है, तो इसका उपयोग करके इसे स्थापित करें:

$ sudo apt vim स्थापित करें

स्क्रिप्ट टाइप करें:

#! /बिन/बाश
इको अपना नाम दर्ज करें
नाम पढ़ें
इको $नाम > data_dir.txt
इको अपनी उम्र दर्ज करें
पढ़ने की उम्र
इको $ उम्र >> data_dir.txt
बिल्ली data_dir.txt

NS बिल्ली कमांड का उपयोग फाइलों को बनाने और संपादित करने के लिए किया जाता है। दबाने के बाद मोड स्विच करके उपरोक्त स्क्रिप्ट को विम में सहेजें Esc कुंजी और फिर टाइप करें : myscript.sh . में . टर्मिनल खोलें और कोड चलाएँ:

हेरेडोक का उपयोग करके फ़ाइल कैसे लिखें

यदि आप कई पंक्तियाँ लिखना चाहते हैं, तो सबसे आसान तरीका हेरेडोक का उपयोग करना है। यहां दस्तावेज़, जिसे हेरेडोक भी कहा जाता है, एक बहुउद्देश्यीय कोड ब्लॉक है। हेरेडोक का सिंटैक्स है:

आदेश<<[-] Delimiter
.
पाठ/आदेश
.

सीमान्तक

डिलीमीटर के स्थान पर किसी भी स्ट्रिंग का उपयोग किया जा सकता है, और - फ़ाइल में किसी भी टैब रिक्त स्थान को हटाने के लिए भी उपयोग किया जा सकता है। आइए इसे एक सरल उदाहरण का उपयोग करके समझते हैं:

#! /बिन/बाश

बिल्ली<< TEXTFILE
यह एक टेक्स्ट फ़ाइल है।
यह फ़ाइल हेरेडोक का उपयोग करके बनाई गई है।
पाठ फ़ाइल

उपरोक्त स्क्रिप्ट कैट कमांड टेक्स्ट फ़ाइल के नाम से टेक्स्ट फ़ाइल बनाता है, और अभी बनाई गई फ़ाइल में टेक्स्ट लिखता है। अब फाइल को के नाम से सेव करें myscript.sh . टर्मिनल लॉन्च करें और स्क्रिप्ट चलाएँ।

टी कमांड का उपयोग करके फाइल कैसे लिखें

फ़ाइल लिखने का दूसरा तरीका टी कमांड का उपयोग करना है। जैसा कि नाम से संकेत मिलता है कि यह कमांड इनपुट लेता है और एक फाइल को लिखता है और साथ ही आउटपुट दिखाता है। डिफ़ॉल्ट रूप से, टी कमांड मौजूदा डेटा को अधिलेखित कर देगा।

$ गूंज यह कुछ पाठ है | टी टेक्स्टफाइल.txt

उपयोग जोड़ने के लिए -ए:

$ गूंज यह एक और पाठ है | टी-ए टेक्स्टफाइल.txt

कई पंक्तियाँ लिखने के लिए, उपयोग करें:

$ इको एकाधिक फाइलों में टेक्स्ट जोड़ना | टी टेक्स्टफाइल1.txt टेक्स्टफाइल2.txt टेक्स्टफाइल3.txt

उपरोक्त आदेश तीन फाइलें बनाएगा यदि वे अस्तित्व में नहीं हैं और उनमें से प्रत्येक को टेक्स्ट लिखेंगे।

निष्कर्ष

यह मार्गदर्शिका उदाहरणों के साथ बैश में फ़ाइल लिखने के लिए कई दृष्टिकोणों पर ध्यान केंद्रित कर रही है। बैश स्क्रिप्टिंग में, फ़ाइल लिखने के कई तरीके हैं, लेकिन सबसे सरल है रीडायरेक्शन ऑपरेटर्स>, >> का उपयोग करना। कई पंक्तियों को लिखने के लिए, हेरेडोक का उपयोग किया जा सकता है, और यदि आप एक ही डेटा को कई पंक्तियों में लिखना चाहते हैं, तो टी कमांड काफी आसान है।