Menambahkan ke jawaban Mikel di atas ...
Untuk mencetak semua baris hingga, tetapi tidak termasuk , baris pertama yang FILE
berisi PATTERN
, coba:
sed '/.*PATTERN.*/{s///;q;}' FILE
Ini cocok dengan seluruh baris yang berisi pola, menggantikannya dengan baris kosong, lalu berhenti tanpa memproses sisa file.
Nota bene:
Cara termudah / paling jelas yang bisa saya pikirkan untuk mencegah mencetak baris baru tambahan di akhir (tanpa melibatkan alat lain), adalah menjalankan sed lagi dan menghapus baris akhir baru:
sed '/.*PATTERN.*/{s///;q;}' FILE | sed '$d'
... dan karena kita sekarang menghapus garis itu, pekerjaan kita sebelumnya berlebihan dan kita dapat menyederhanakan untuk:
sed '/PATTERN/q' FILE | sed '$d'