Cara menambahkan baris ke akhir file di Linux

122

Saya ingin menambahkan 2 baris berikut ...

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

ke akhir file vncservers yang ditemukan di direktori .... / etc / sysconfig /

Bagaimana saya bisa melakukan ini?

Terima kasih

Antony West
sumber
2
Anda dapat menggunakan viatau emacs. Apakah Anda tahu cara menggunakannya? Saya tidak mencoba menjadi sarkastik.

Jawaban:

234

Cara termudah untuk mengarahkan keluaran gema dengan >>

echo 'VNCSERVERS="1:root"' >> /etc/sysconfig/configfile
echo 'VNCSERVERARGS[1]="-geometry 1600x1200"' >> /etc/sysconfig/configfile
pengguna897079
sumber
3
Hanya ingin tahu, bagaimana Anda akan menambahkan teks ke file tanpa membuat baris baru?
Martin Hansen
11
Itu tergantung pada baris yang terakhir ditambahkan, bukan perintah Anda saat ini. Saat Anda membuat file $ echo "foobar" >>, baris baru sudah ada. Jika Anda melakukan $ echo -n "foobar" >> file, Anda tidak akan menambahkan baris baru ke akhir baris, jadi Anda akan menulis di baris yang sama.
pengguna897079
9
Ini tidak berfungsi ketika dalam lingkungan sudo menulis ke file sistem. Anda tidak bisa sudo >>. Jika tidak, itu berfungsi dengan baik.
Dennis
4
Gunakan perintah "sed" sebagai berikut: ---------- sed -i "$ a some text" somefile.txt --------- -i: edit file di tempat, $ temukan akhir file, a: append
Lunf
9
@Dennis Itu karena cara baris perintah diuraikan. 'sudo abc >> def' akan 'sudo abc' dan kemudian '>> def' outputnya. Untuk melakukan sudo ke seluruh bit 'abc >> def', Anda harus melakukan sesuatu seperti ini: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (perhatikan bahwa tanda kutip ganda bagian dalam harus di-escape)
Urhixidur