Saya ingin melihat kejadian dalam file teks, kemudian mencetak baris N berikut setelah setiap kejadian ditemukan. Ada ide?
sumber
Saya ingin melihat kejadian dalam file teks, kemudian mencetak baris N berikut setelah setiap kejadian ditemukan. Ada ide?
Grep memiliki opsi berikut yang akan memungkinkan Anda melakukan ini (dan hal-hal seperti itu). Anda mungkin ingin melihat halaman manual untuk informasi lebih lanjut:
-A num Cetak baris num konteks tertinggal setelah setiap pertandingan. Lihat juga opsi -B dan -C.
-B num Cetak baris num konteks terkemuka sebelum setiap pertandingan. Lihat juga opsi -A dan -C.
-C [num] Cetak baris num dari konteks terkemuka dan tertinggal di sekitar setiap pertandingan. Standarnya adalah 2 dan setara dengan -A 2 -B 2. Catatan: spasi tidak boleh diberikan antara opsi dan argumennya.
Jika Anda memiliki GNU grep
, itu adalah opsi -A
/ --after-context
. Kalau tidak, Anda bisa melakukannya dengan awk
.
awk '/regex/ {p = N}
p > 0 {print $0; p--}' filename
awk '/regex/{p=2} p > 0 {print $0; p--}' filename
- bekerja, milikmu tidak.Gunakan
-A
argumen untukgrep
menentukan berapa banyak baris di luar pencocokan dengan output.sumber
Cetak garis N setelah garis yang cocok
Anda dapat menggunakan
grep
dengan-A n
pilihan untuk mencetak N baris setelah baris yang cocok.Sebagai contoh:
Opsi terkait lainnya:
Cetak N baris sebelum mencocokkan garis
Menggunakan
-B n
opsi Anda dapat mencetak garis N sebelum mencocokkan garis.Cetak garis N sebelum dan sesudah garis yang cocok
Menggunakan
-C n
opsi, Anda dapat mencetak garis N sebelum dan sesudah garis yang cocok.sumber