gema teks dengan baris baru di bash

35

Saya ingin menambahkan teks ke file. Jadi saya menulis di bash

echo text >> file.conf

Namun itu tidak meninggalkan baris baru. Jadi saya hanya bisa melakukan ini sekali. Bagaimana cara menambahkan baris baru?

John Albietz
sumber
5
Apa maksudmu? Sebuah ekstra baris baru? echomenambahkan baris baru secara default.
Dijeda sampai pemberitahuan lebih lanjut.
4
echosecara default tidak meninggalkan baris baru - apakah Anda perlu meninggalkan dua baris? Juga, jika Anda menjalankan ini pada sistem linux dan membuka file pada sistem windows atau mac, pastikan editor Anda mendukung * nix baris baru, atau itu akan muncul semua di satu baris meskipun itu di beberapa baris.
Darth Android

Jawaban:

79

Pilihan 1:

% echo -e "text\n" >> file.conf

pilihan 2:

% ( echo text ; echo "" ) >> file.conf

opsi 3:

% echo text >> file.conf
% echo ""  >> file.conf
akira
sumber
7
Anda dapat menjatuhkan argumen kosong ( echo ""=> echo). Juga, opsi 4:, echo $'text\n'yang berguna untuk perintah apa pun sebagaimana $''ditafsirkan oleh bash.
7

Saya pikir jawaban yang tepat adalah perintah Anda

gema teks >> file.conf

memang menambahkan baris tambahan, tetapi setelah teks baru, bukan sebelumnya.

Saya kira Anda ingin menambahkan baris tambahan sebelum teks itu, mungkin karena file awal Anda tidak berakhir pada baris baru. Dalam hal ini Anda bisa menggunakan

echo -e "\ ntext" >> file.conf

sebagai gantinya, karena -eopsi memungkinkan Anda untuk menggunakan \nkarakter baris baru .

N.Gutierrez
sumber
3

Hanya untuk menambah respons akira

Opsi 4:

gunakan ctrl-v ctrl-mkombo kunci dua kali untuk memasukkan dua karakter kontrol baris baru di terminal. Ctrl-v memungkinkan Anda memasukkan karakter kontrol ke terminal. Anda bisa menggunakan tombol enter atau return sebagai ganti ctrol-m jika mau. Menyisipkan hal yang sama.

Ini akhirnya tampak seperti echo text^M^M >> file.conf

James T
sumber
2
Jika Anda membutuhkan linefeeds alih-alih carriage return (linux / unix), cobalah echo "text^J^J" >> file.confMengetik ^ J mungkin benar-benar memasukkan baris baru literal, pastikan untuk meletakkan tanda kutip dan itu akan baik.
Darth Android