Alat termudah di sini mungkin sed
. Untuk memasukkan b.txt
ke dalam a.txt
setelah baris ke-5, Anda bisa menulis:
sed '5r b.txt' a.txt
sed
membaca file yang ditentukan sebagai argumen ( a.txt
) baris demi baris. Semua baris direproduksi dalam output sama seperti yang muncul di input, kecuali jika mereka diubah oleh perintah.
Ini 5
adalah alamat (nomor baris) di mana perintah berikut harus dijalankan. Perintah yang kita gunakan adalah r
, yang mengambil nama file sebagai argumen (di sini b.txt
), membacanya sepenuhnya dan memasukkannya ke dalam output setelah baris saat ini.
Seperti berdiri di atas, sed
baris perintah ini hanya akan mencetak output ke terminal, tanpa menulis ke file apa pun. Anda dapat mengarahkannya ke file baru (bukan file input mana pun!) Menggunakan pengalihan output Bash:
sed '5r b.txt' a.txt > c.txt
Atau Anda dapat langsung mengubah luar file input a.txt
dengan menggunakan sed
's -i
(untuk 'di tempat') switch. Jika Anda menuliskannya -i.bak
, itu akan membuat salinan cadangan dari file input asli dengan akhiran .bak
pertama:
sed -i '5r b.txt' a.txt
Sebuah contoh:
$ cat a.txt
January
February
March
April
May
October
November
December
$ cat b.txt
June
July
August
September
$ sed '5r b.txt' a.txt
January
February
March
April
May
June
July
August
September
October
November
December