To display lines surrounding a match with grep, use the context control options to show lines before, after, or around the matching line. Here are the key flags:
1. Show Lines Around the Match (-C / --context)
grep -C 2 "pattern" file.txt- Shows 2 lines before and after each match.
 Output Format:
...
[non-matching line]  
[matching line]  
[non-matching line]  
--
[next matching line's context]2. Show Lines Before the Match (-B / --before-context)
grep -B 3 "pattern" file.txt- Displays 3 lines preceding each match.
3. Show Lines After the Match (-A / --after-context)
grep -A 1 "pattern" file.txt- Shows 1 line following each match.
Example
File (data.txt):
Line 1: Apples
Line 2: Oranges
Line 3: Bananas
Line 4: Grapes
Line 5: ApplesCommand:
grep -C 1 "Apples" data.txtOutput:
Line 1: Apples
Line 2: Oranges
--
Line 5: ApplesKey Notes
- Combine Flags: Use -A,-B, and-Ctogether for custom context.
- Highlight Matches: Add --color=autoto highlight the matched pattern:
  grep -C 2 --color=auto "pattern" file.txt- Continuous Context: Use -U(if supported) to avoid splitting context blocks for adjacent matches.
- Line Numbers: Add -nto show line numbers:
  grep -n -C 1 "pattern" file.txtQuick Reference
| Flag | Meaning | Example | 
|---|---|---|
| -C NUM | N lines around match | grep -C 2 "error" log | 
| -B NUM | N lines before match | grep -B 1 "warning" log | 
| -A NUM | N lines after match | grep -A 3 "info" log | 
Result: You can now easily inspect the context of matches in logs, code, or text files!