GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Memilih Kejadian Pertama Antara Dua Pola Termasuk Mereka?

Bagaimana saya bisa memilih kemunculan pertama di antara dua pola termasuk mereka. Lebih disukai menggunakan sed atau awk .

Saya punya:

text
something P1 something
content1
content2
something P2 something
text
something P1 something
content3
content4
something P2 something
text

Saya ingin kemunculan pertama dari garis antara P1 dan P2 (termasuk garis P1 dan garis P2):

something P1 something
content1
content2
something P2 something

Jawaban yang Diterima:

sed '/P1/,/P2/!d;/P2/q'

…akan melakukan pekerjaan itu dengan mudah dengan d menghapus semua baris yang melakukan ! tidak termasuk dalam kisaran, maka q uitting pertama kali bertemu akhir jangkauan. Itu tidak gagal untuk P2 sebelum P1, dan tidak memerlukan sintaks khusus GNU untuk menulis secara sederhana.


Linux
  1. Cara Mentransfer File Antara Dua Komputer menggunakan Perintah nc dan pv

  2. Cetak Garis Antara (dan Tidak Termasuk) Dua Pola?

  3. Cetak Garis Antara (dan Termasuk) Dua Pola?

  1. Ekstrak Nilai Antara Dua Pola Pencarian Pada Baris Yang Sama?

  2. Bagaimana Cara Membuat Pipa Dua Arah Antara Dua Program?

  3. Cara mendapatkan perbedaan (hanya penambahan) antara dua file di linux

  1. Bagaimana Cara Mengekstrak Log Antara Dua Cap Waktu?

  2. Bagaimana cara memblokir semua lalu lintas antara dua antarmuka?

  3. Bagaimana cara menghapus file yang dibuat antara dua kali?