GNU/Linux >> Belajar Linux >  >> Linux

Memasukkan File Ke File Lain Setelah Terjadinya Pola Pertama?

Saya ingin memasukkan konten file1 ke file2 setelah POLA yang cocok. Saya ingin melakukannya hanya setelah kemunculan pertama POLA.

Saya ingin mengetahui modifikasi yang harus saya lakukan pada perintah berikut untuk kebutuhan saya.

sed -i "/PATTERN/r file1" file2

Jawaban yang Diterima:

sed '/PATTERN/{
       r file1
       :a
       n
       ba
     }' file2

:a , n , ba hanyalah sebuah siklus yang mencetak seluruh konten file setelah POLA sampai akhir. dan perhatikan, bahwa 6 baris itu hanyalah satu perintah, tetapi baris baru diperlukan untuk membatasi perintah sed berikutnya setelah r , : dan b .

info tambahan dari info sed :

`n'
     If auto-print is not disabled, print the pattern space, then,
     regardless, replace the pattern space with the next line of input.
     If there is no more input then `sed' exits without processing any
     more commands.

`: LABEL'
     [No addresses allowed.]

     Specify the location of LABEL for branch commands.  In all other
     respects, a no-op.

`b LABEL'
     Unconditionally branch to LABEL.  The LABEL may be omitted, in
     which case the next cycle is started.

Linux
  1. Salin Isi File Ke Clipboard Tanpa Menampilkan Isinya?

  2. Bagaimana Menghitung Jumlah Baris Dalam File Setelah Pertandingan Grep?

  3. Cara tail -f file log terbaru dengan pola yang diberikan

  1. Bagaimana cara menghapus garis yang muncul pada file B dari file A lainnya?

  2. Cat rekursif semua file menjadi satu file

  3. Bagaimana cara memasukkan teks ke baris pertama file menggunakan sed?

  1. Linux – Apa Arti Titik Setelah Bit Izin File?

  2. Basa'?

  3. Bagaimana Cara Menulis File Ke Yang Lain?