Jawaban:
sed -e "\$aTEXTTOEND"
adalah cara paling sederhana.
$
cocok dengan baris terakhir (itu adalah sed
alamat normal ; 4aTEXTTOEND
akan disisipkan setelah baris keempat), a
adalah perintah append, dan TEXTTOEND
apa yang harus ditambahkan.
sed -e '$a\NEWLINE\\'
. Ganti NEWLINE dengan baris baru yang sebenarnya.
Tidak perlu digunakan sed
dalam kasus itu. Bagaimana tentang
echo "<?php" >> file
<php
" dan " >
", dan mengutip konten yang dipilih sekaligus, jadi dia mungkin benar - benar ingin sebuah sed
fragmen.
sudo
, yang menyebabkan variasi ini gagal karena echo
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
sed -i '$s/$/\n?>/' file
harus melakukan trik
Lihat posting asli Anda untuk semua perintah sed dalam satu.
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
Gunakan perintah sed 'append (a)'. Misalnya, untuk menambahkan dua baris di akhir file:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
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.log
adalah nama file.
Kami juga dapat membuat perubahan di baris dengan menggunakan perintah di bawah ini
sed -i '2c we have started' sheikh.log
i
diubah menjadi we
.
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.
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
Ini adalah cal
output yang disalurkan ke gnu- sed
(dipanggil gsed
pada 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.
{
"lines": [
" October 2019 ",
"Su Mo Tu We Th Fr Sa ",
" 1 2 3 4 5 ",
" 6 7 8 9 10 11 12 ",
"13 14 15 16 17 18 19 ",
"20 21 22 23 24 25 26 ",
"27 28 29 30 31 ",
" "
]
}
{ cat file; echo 'END OF FILE'; } > newFile
, ini berfungsi juga berkat sh. *. (tidak sed tetapi bekerja dan sederhana)