GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menyisipkan teks di awal file?

Jika file hanya satu baris, Anda dapat menggunakan:

sed 's/^/insert this /' oldfile > newfile

Jika lebih dari satu baris. salah satu dari:

sed '1s/^/insert this /' oldfile > newfile
sed '1,1s/^/insert this /' oldfile > newfile

Saya telah menyertakan yang terakhir sehingga Anda tahu bagaimana melakukan rentang garis. Keduanya "ganti" penanda garis awal pada baris yang terpengaruh dengan teks yang ingin Anda sisipkan. Anda juga bisa (dengan asumsi sed Anda cukup modern) gunakan:

sed -i 'whatever command you choose' filename

untuk melakukan pengeditan di tempat.


Jika Anda ingin menambahkan baris di awal file, Anda perlu menambahkan \n di akhir string dalam solusi terbaik di atas.

Solusi terbaik akan menambahkan string, tetapi dengan string, tidak akan menambahkan baris di akhir file.

sed -i '1s/^/your text\n/' file

Gunakan subkulit:

echo "$(echo -n 'hello'; cat filename)" > filename

Sayangnya, substitusi perintah akan menghapus baris baru di akhir file. Untuk menyimpannya, seseorang dapat menggunakan:

echo -n "hello" | cat - filename > /tmp/filename.tmp
mv /tmp/filename.tmp filename

Pengelompokan atau substitusi perintah tidak diperlukan.


sed dapat beroperasi pada alamat:

$ sed -i '1s/^/<added text> /' file

Apa 1s ajaib ini Anda lihat di setiap jawaban di sini? Pengalamatan baris!.

Ingin menambahkan <added text> pada 10 baris pertama?

$ sed -i '1,10s/^/<added text> /' file

Atau Anda dapat menggunakan Command Grouping :

$ { echo -n '<added text> '; cat file; } >file.new
$ mv file{.new,}

Linux
  1. Cara Menambahkan Teks ke Akhir File di Linux

  2. Bagaimana cara menambahkan baris baru ke akhir file?

  3. Bagaimana Cara Menyisipkan Teks Sebelum Baris Pertama Sebuah File?

  1. Tampilkan Semua File Hingga Pertandingan?

  2. Bagaimana Menemukan Tanda Kurung yang Tak Tertandingi Dalam File Teks?

  3. Bagaimana Perintah Sed '1!g;h;$!d' Membalikkan Isi File?

  1. Bagaimana cara menambahkan output ke file?

  2. Bagaimana saya bisa menambahkan string ke awal setiap file dalam folder di bash?

  3. Bagaimana cara mengarahkan output dari system() ke file?