लिनक्स पर फ़ाइल के अंत में लाइनें कैसे जोड़ें


120

मैं निम्नलिखित 2 लाइनें जोड़ना चाहता हूं ...

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1600x1200"

निर्देशिका में मिली फ़ाइल vncservers के अंत में .... / etc / sysconfig /

मैं यह कैसे कर सकता हूँ?

धन्यवाद


2
आप उपयोग कर सकते हैं viया emacs। क्या आप जानते हैं कि उन का उपयोग कैसे करें? मैं व्यंग्यात्मक बनने की कोशिश नहीं कर रहा हूं।

जवाबों:


232

इको द्वारा >> के आउटपुट को रीडायरेक्ट करने का सबसे आसान तरीका >>

echo 'VNCSERVERS="1:root"' >> /etc/sysconfig/configfile
echo 'VNCSERVERARGS[1]="-geometry 1600x1200"' >> /etc/sysconfig/configfile

3
जिज्ञासा से बाहर, आप एक नई पंक्ति बनाए बिना किसी फ़ाइल में पाठ कैसे जोड़ेंगे?
मार्टिन हैनसेन

11
यह अंतिम जोड़ा लाइन पर निर्भर करता है, न कि आपकी वर्तमान कमांड पर। जब आप $ इको "फोब्बर" >> फाइल करते हैं, तो नई लाइन पहले से ही होती है। यदि आप $ इको-एन "फोब्बर" >> फाइल करते हैं, तो आप लाइन के अंत में न्यूलाइन को संलग्न नहीं करेंगे, इसलिए आप उसी लाइन में लिखेंगे।
user897079

9
यह काम नहीं करता है जब एक sudo वातावरण में एक सिस्टम फ़ाइल में लिख रहा है। आप sudo नहीं कर सकते >> अन्यथा, यह ठीक काम करता है।
डेनिस

4
आप निम्नानुसार "sed" कमांड का उपयोग कर सकते हैं: ---------- sed -i "$ a a text" somefile.txt --------- -i: फ़ाइलों को जगह में संपादित करें, $ फ़ाइल का अंत
पाएं

9
@ डेनिस कि कमांड लाइन को पार्स करने के तरीके के कारण। 'sudo abc >> def' आउटपुट में 'sudo abc' और फिर '>> def' होगा। पूरे 'abc >> def' बिट को sudo करने के लिए, आपको कुछ इस तरह से करना होगा: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ ">> >> / etc / sysconfig / configfile" (ध्यान दें) भीतर के दोहरे-उद्धरणों से बच जाना चाहिए)
उरहिकिदुर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.