{ cat file; echo 'END OF FILE'; } > newFile , ini berfungsi juga berkat sh. *. (tidak sed tetapi bekerja dan sederhana)
4
Sederhana echo "Cool Text" >> filejuga harus melakukan trik.
Danpe
Jawaban:
95
sed -e "\$aTEXTTOEND" adalah cara paling sederhana.
Bagaimana itu bekerja
$cocok dengan baris terakhir (itu adalah sedalamat normal ; 4aTEXTTOENDakan disisipkan setelah baris keempat), aadalah perintah append, dan TEXTTOENDapa yang harus ditambahkan.
Cukup benar, tetapi Anda dapat menebak bahwa use case OP adalah mengurung file dengan " <php " dan " >", dan mengutip konten yang dipilih sekaligus, jadi dia mungkin benar - benar ingin sebuah sedfragmen.
dmckee
2
Juga jika Anda akan melakukan ini dan tidak ingin baris baru, gunakan echo -n
Vinko Vrsalovic
2
Saya tidak suka menebak. Setiap kali saya mencoba, saya salah.
4
Alasan lain mengapa jawaban yang diterima lebih berguna adalah dalam kasus menambahkan ini dengan sudo, yang menyebabkan variasi ini gagal karena echomerupakan perintah shell built-in daripada file executable ditemukan di$PATH
Tony Cesaro
@TonyCesaro: echoadalah built-in tetapi juga merupakan file yang dapat dieksekusi ditemukan di$PATH
Zan Lynx
24
Dengan asumsi Anda ingin meletakkan tag php akhir ke file, maka
Dengan cara sederhana untuk menulis dan membuat perubahan pada konten pada baris tertentu dalam file. Jika Anda ingin memasukkan apa pun pada nomor baris tertentu maka perintah di bawah ini dapat digunakan:
sed -i '2i i have started' sheikh.log
di mana 2i- baris nomor 2 dan saya berdiri untuk memasukkan. Jika Anda harus memasukkan pada baris terakhir kemudian gunakan $di tempat 2. Saya sudah mulai - teks yang akan dimasukkan dan sheikh.logadalah nama file.
Kami juga dapat membuat perubahan di baris dengan menggunakan perintah di bawah ini
Saya akan berasumsi bahwa siapa pun yang mencari cara memasukkan / menambahkan teks ke awal / akhir file mungkin juga perlu tahu bagaimana melakukan yang lain juga.
Ini adalah caloutput yang disalurkan ke gnu- sed(dipanggil gsedpada macOS diinstal melalui brew.sh ) dengan diperpanjang RegEx ( -E) dan 6 "skrip" diterapkan ( -e) dan jeda baris lolos \untuk dibaca. Skrip 1 & 2 digunakan 1i\untuk "pada baris 1, masukkan". Skrip 5 & 6 digunakan $a\untuk "di baris <last>, tambahkan". Saya secara vertikal menyelaraskan output teks untuk membuat kode mewakili apa yang diharapkan dalam hasilnya. Skrip 3 & 4 melakukan pergantian (yang terakhir hanya berlaku untuk "baris <last>"). Hasilnya adalah mengonversi output perintah ke JSON yang valid.
Meskipun saya belum memberikan suara untuk pertanyaan Anda, perhatikan bahwa kami sudah memiliki beberapa jawaban, termasuk jawaban yang diterima, yang menunjukkan hasil yang diinginkan.
Jeff Schaller
@JeffSchaller Komunitas Stack Exchange bukan forum. Tujuannya melampaui membantu OP agar tidak terblokir. Tujuannya adalah untuk menanamkan basis pengetahuan global dengan banyak opsi yang dapat ditemukan para pencari ketika mencari jawaban. Alasan saya memberi judul jawaban saya adalah untuk membantu pengguna mengenali kegunaan jawaban ini bahkan sebelum mereka mengklik hasil Google.
{ cat file; echo 'END OF FILE'; } > newFile
, ini berfungsi juga berkat sh. *. (tidak sed tetapi bekerja dan sederhana)echo "Cool Text" >> file
juga harus melakukan trik.Jawaban:
sed -e "\$aTEXTTOEND"
adalah cara paling sederhana.Bagaimana itu bekerja
$
cocok dengan baris terakhir (itu adalahsed
alamat normal ;4aTEXTTOEND
akan disisipkan setelah baris keempat),a
adalah perintah append, danTEXTTOEND
apa yang harus ditambahkan.sumber
sed -e '$a\NEWLINE\\'
. Ganti NEWLINE dengan baris baru yang sebenarnya.Tidak perlu digunakan
sed
dalam kasus itu. Bagaimana tentangsumber
<php
" dan ">
", dan mengutip konten yang dipilih sekaligus, jadi dia mungkin benar - benar ingin sebuahsed
fragmen.sudo
, yang menyebabkan variasi ini gagal karenaecho
merupakan perintah shell built-in daripada file executable ditemukan di$PATH
echo
adalah built-in tetapi juga merupakan file yang dapat dieksekusi ditemukan di$PATH
Dengan asumsi Anda ingin meletakkan tag php akhir ke file, maka
harus melakukan trik
sumber
Lihat posting asli Anda untuk semua perintah sed dalam satu.
sumber
Gunakan perintah sed 'append (a)'. Misalnya, untuk menambahkan dua baris di akhir file:
sumber
Dengan cara sederhana untuk menulis dan membuat perubahan pada konten pada baris tertentu dalam file. Jika Anda ingin memasukkan apa pun pada nomor baris tertentu maka perintah di bawah ini dapat digunakan:
di mana
2i
- baris nomor 2 dan saya berdiri untuk memasukkan. Jika Anda harus memasukkan pada baris terakhir kemudian gunakan$
di tempat 2. Saya sudah mulai - teks yang akan dimasukkan dansheikh.log
adalah nama file.Kami juga dapat membuat perubahan di baris dengan menggunakan perintah di bawah ini
i
diubah menjadiwe
.sumber
Pertama dan terakhir
Saya akan berasumsi bahwa siapa pun yang mencari cara memasukkan / menambahkan teks ke awal / akhir file mungkin juga perlu tahu bagaimana melakukan yang lain juga.
Penjelasan
Ini adalah
cal
output yang disalurkan ke gnu-sed
(dipanggilgsed
pada macOS diinstal melalui brew.sh ) dengan diperpanjang RegEx (-E
) dan 6 "skrip" diterapkan (-e
) dan jeda baris lolos\
untuk dibaca. Skrip 1 & 2 digunakan1i\
untuk "pada baris 1, masukkan". Skrip 5 & 6 digunakan$a\
untuk "di baris <last>, tambahkan". Saya secara vertikal menyelaraskan output teks untuk membuat kode mewakili apa yang diharapkan dalam hasilnya. Skrip 3 & 4 melakukan pergantian (yang terakhir hanya berlaku untuk "baris <last>"). Hasilnya adalah mengonversi output perintah ke JSON yang valid.keluaran
sumber