สมมติว่าข้อมูลมีโครงสร้างเพื่อให้เป็นบรรทัดก่อนและหลังที่คุณต้องการคุณสามารถใช้สวิตช์-A(หลังจาก) และ-B(ก่อน) ของ grep เพื่อบอกให้รวม 1 บรรทัดก่อนการแข่งขันและ 1 บรรทัดหลังจากนั้น:
$ grep -A 1 -B 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
หากคุณต้องการบรรทัดจำนวนเดียวกันก่อนและหลังคำค้นหาคุณสามารถใช้-Cสวิตช์ (บริบท):
$ grep -C 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
หากคุณต้องการเข้มงวดมากขึ้นเมื่อจับคู่หลายบรรทัดคุณสามารถใช้เครื่องมือpcregrepเพื่อจับคู่รูปแบบผ่านหลายบรรทัด:
$ pcregrep -M 'Pseudo.*\n.*42B.*\nstate.*' sample.txt
Pseudo name=Apple
Code=42B
state=fault
รูปแบบข้างต้นตรงกับดังนี้:
-M - หลายบรรทัด
'Pseudo.*\n.*42B.*\nstate.*'- จับคู่กลุ่มของสตริงที่สตริงแรกเริ่มต้นด้วยคำ"Pseudo"ตามด้วยตัวอักษรใด ๆ จนถึงจุดสิ้นสุดของบรรทัด\nตามด้วยตัวอักษรใด ๆ ขึ้นไปจนถึงสตริง"42B"ตามด้วยตัวอักษรใด ๆ จนถึงจนถึงปลายบรรทัดอื่น ( \n) ตามด้วยสตริง"state"ตามด้วยตัวละครใด ๆ