Giả sử dữ liệu được cấu trúc sao cho luôn luôn là dòng trước và sau mà bạn muốn, bạn có thể sử dụng các công tắc -A(sau) và -B(trước) của grep để bảo nó bao gồm 1 dòng trước khớp và 1 dòng sau nó:
$ grep -A 1 -B 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
Nếu bạn muốn các dòng số giống nhau trước và sau cụm từ tìm kiếm, bạn có thể sử dụng công tắc -C(ngữ cảnh):
$ grep -C 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
Nếu bạn muốn nghiêm ngặt hơn khi khớp nhiều dòng bạn có thể sử dụng công cụ pcregrep, để khớp với một mẫu trên nhiều dòng:
$ pcregrep -M 'Pseudo.*\n.*42B.*\nstate.*' sample.txt
Pseudo name=Apple
Code=42B
state=fault
Các mẫu trên phù hợp như sau:
-M - nhiều dòng
'Pseudo.*\n.*42B.*\nstate.*'- khớp với một nhóm các chuỗi trong đó chuỗi đầu tiên bắt đầu bằng từ được "Pseudo"theo sau bởi bất kỳ ký tự nào cho đến hết dòng \n, theo sau là bất kỳ ký tự nào cho đến khi chuỗi "42B"theo sau bởi bất kỳ ký tự nào cho đến cuối dòng khác ( \n), theo sau là chuỗi "state"tiếp theo là bất kỳ nhân vật nào.