How to search text with grep in Linux
· Category: Linux
Short answer
grep searches for patterns in text files and streams, supporting regex, line numbers, and context display.
Steps
- Search a file:
grep "error" log.txt
- Case-insensitive search:
grep -i "error" log.txt
- Recursive search:
grep -r "pattern" /var/log/
- Show line numbers:
grep -n "pattern" file.txt
- Invert match:
grep -v "pattern" file.txt
Tips
grep -E(oregrep) enables extended regular expressions.grep -C 2shows 2 lines of context around each match.- Pipe
psordfintogrepto filter output.
Common issues
- Binary files: use
-Ito ignore or-ato treat as text. - Recursive symlink loops: use
--exclude-diror-Rinstead of-r.