एंड्रॉयड

बैश: फ़ाइल करने के लिए संलग्न करें

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

विषयसूची:

Anonim

बैश में, फ़ाइल में टेक्स्ट को जोड़ने के कई तरीके हैं। यह लेख उनमें से कुछ की व्याख्या करता है।

पाठ को फ़ाइल में जोड़ने के लिए, आपको इसके लिए लिखने की अनुमति होनी चाहिए। अन्यथा, आपको एक अनुमति अस्वीकृत त्रुटि प्राप्त होगी।

पुनर्निर्देशन ऑपरेटर ( >> ) का उपयोग कर एक फ़ाइल में जोड़ें

पुनर्निर्देशन आपको आउटपुट को एक कमांड से कैप्चर करने और किसी अन्य कमांड या फ़ाइल में इनपुट के रूप में भेजने की अनुमति देता है। >> पुनर्निर्देशन ऑपरेटर किसी दिए गए फ़ाइल में आउटपुट जोड़ता है।

ऐसी कई कमांड्स हैं जिनका उपयोग आप टेक्स्ट को मानक आउटपुट में प्रिंट करने के लिए कर सकते हैं और इसे फ़ाइल पर रीडायरेक्ट कर सकते हैं, जिसमें echo और printf सबसे अधिक उपयोग किए जाते हैं।

किसी फ़ाइल में पाठ को जोड़ने के लिए, पुनर्निर्देशन ऑपरेटर के बाद फ़ाइल का नाम निर्दिष्ट करें:

echo "this is a new line" >> file.txt

जब -e विकल्प के साथ प्रयोग किया जाता है तो echo कमांड बैकस्लैश-एस्कैप्ड कैरेक्टर्स जैसे कि newline व्याख्या करता है:

echo -e "this is a new line \nthis is another new line" >> file.txt

यदि आप अधिक जटिल उत्पादन करना चाहते हैं, तो printf कमांड का उपयोग करें जो आपको आउटपुट के प्रारूपण को निर्दिष्ट करने की अनुमति देता है:

printf "Hello, I'm %s.\n" $USER >> file.txt

किसी फ़ाइल में पाठ को जोड़ने का दूसरा तरीका है कि यहां दस्तावेज़ (हेरेडोक) का उपयोग किया जाए। यह एक प्रकार का पुनर्निर्देशन है जो आपको एक कमांड में इनपुट की कई लाइनों को पारित करने की अनुमति देता है।

उदाहरण के लिए, आप सामग्री को cat कमांड में पास कर सकते हैं और इसे एक फाइल में जोड़ सकते हैं:

cat «EOF» file.txt वर्तमान कार्यशील निर्देशिका है: $ PWD आप लॉग इन हैं: $ (whoami) EOF

आप किसी भी कमांड के आउटपुट को फाइल में जोड़ सकते हैं। यहाँ date कमांड के साथ एक उदाहरण दिया गया है:

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

पुनर्निर्देशन का उपयोग करते हुए फ़ाइल में संलग्न करते समय, एक महत्वपूर्ण मौजूदा फ़ाइल को अधिलेखित करने के लिए > ऑपरेटर का उपयोग न करने के लिए सावधान रहें।

tee कमांड का उपयोग करके एक फ़ाइल में जोड़ें

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

डिफ़ॉल्ट रूप से, tee कमांड निर्दिष्ट फ़ाइल को ओवरराइट करती है। आउटपुट का उपयोग करने के लिए फ़ाइल का उपयोग tee -a ( --append ) विकल्प के साथ करें:

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

>> ऑपरेटर पर tee कमांड का उपयोग करने का लाभ यह है कि tee आपको एक साथ कई फाइलों में टेक्स्ट को जोड़ने और sudo के साथ संयोजन के रूप में अन्य उपयोगकर्ताओं के स्वामित्व वाली फाइलों को लिखने की अनुमति देता है।

पाठ को उस फ़ाइल में संलग्न करने के लिए जिसे आपके पास लिखने की अनुमति नहीं है, नीचे दिखाए जाने से पहले sudo को प्रीपेन्ड करें:

echo "this is a new line" | sudo tee -a file.txt

tee echo कमांड का आउटपुट प्राप्त करता है, सुडो अनुमतियों को बढ़ाता है, और फाइल को लिखता है।

पाठ को एक से अधिक फ़ाइल में जोड़ने के लिए, फ़ाइलों को tee कमांड के तर्क के रूप में निर्दिष्ट करें:

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

निष्कर्ष

लिनक्स में, किसी फाइल में टेक्स्ट को जोड़ने के लिए >> रिडायरेक्शन ऑपरेटर या tee कमांड का उपयोग करें।

बश टर्मिनल