एक संपादक को खोलने के बिना एक पाठ फ़ाइल में लाइन को जोड़ने की कमान


147

मान लें कि मेरे पास एक पंक्ति है जिसे मैं एक संपादक को खोलने के बिना एक फ़ाइल में जोड़ना चाहता हूं।

मैं इस लाइन को कैसे जोड़ सकता हूं

alias list='ls -cl --group-directories-first'

इस फाइल के लिए

config.fish

जवाबों:


237

आप ऑपरेटर का उपयोग करके किसी फ़ाइल में पाठ की एक पंक्ति जोड़ सकते हैं >>:

echo "hello world" >> my_file.txt

या आपके मामले में

echo "alias list='ls -cl --group-directories-first'" >> config.fish

कृपया विभिन्न प्रकार के उद्धरणों पर ध्यान दें ।


25
मैं स्वयं प्रतिध्वनि का उपयोग करता हूं, लेकिन सावधान रहें, यदि आप केवल एक निर्दिष्ट करते हैं >तो फ़ाइल छोटा हो जाएगा, न कि एपेंड। एक सुरक्षित आदेश के लिए आप sed का उपयोग कर सकते हैं:sed -i '$a hello world' filename
उल्टा

11
स्पष्टीकरण: -iफ़ाइल को अपडेट करेगा (अन्यथा यह केवल परिणाम को प्रिंट करने के लिए होगा), $regex है जो फ़ाइल के अंत से मेल खाएगा, और aनिम्न पाठ को फ़ाइल नाम में जोड़ता है।
उलटने

echo "hello world" >> my_file.txtके साथ एक नई अंतिम पंक्ति नहीं बनाता है HW, लेकिन इसे अंतिम पंक्ति के स्ट्रिंग में जोड़ देता है।
टीमो

HW@Timo क्या है ?
7wp

हो सकता है "हैलो वर्ल्ड" @ 7wp :) यह echoलाइन ब्रेक जोड़ता है (यह सिर्फ वर्णों के एक समूह के विपरीत एक पंक्ति बनाता है)। आप पंक्ति विराम को अंत में बंद कर सकते हैं -n
Stefano Palazzo

3

पाठ संपादकों को खोलने के बिना फ़ाइल करने के लिए अपील करने के बहुत सारे तरीके हैं, विशेष रूप से उबंटू में कई उपलब्ध पाठ प्रसंस्करण उपयोगिताओं के माध्यम से।

  • tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
  • awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
  • sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish

1

स्टेफानो के जवाब में जोड़कर , आप भी उपयोग कर सकते हैं cat:

  • एक वंशानुगत का उपयोग करना:

    $ cat >> config.fish <<'EOF'
    > alias list='ls -cl --group-directories-first'
    > EOF
    

    <<'EOF'का अर्थ है "इनपुट के रूप में निम्नलिखित लें, जब तक आप एक पंक्ति तक नहीं पहुंचते हैं जो बस है EOF"। उद्धरण का तात्पर्य इनपुट को शाब्दिक रूप से लेना है।

  • या स्टड पर लाइन इनपुट:

    $ cat >> config.fish

    फिर लाइन में पेस्ट या टाइप करें, Enterएक नई लाइन पर जाने के लिए दबाएं, फिर अंत को चिह्नित करने के लिए Ctrl + D दबाएं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.