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


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.