Comprehensive Guide to Using grep: Basic Syntax, Common Options, and Advanced Techniques
This article provides a detailed tutorial on the Linux grep command, covering its basic syntax, frequently used options such as case‑insensitive search, line numbers, recursive search, context lines, and advanced features like regex patterns, file inclusion/exclusion, multiple patterns, and handling large files.
grep is a widely used Linux command for searching text within files. Its basic syntax is grep [options] "pattern" file , where the pattern can be a plain string or a regular expression.
Common options include:
-i : ignore case when matching.
-n : display line numbers of matching lines.
-v : invert match to show non‑matching lines.
-r or -R : recursively search directories.
-x : match whole lines exactly.
-c : count the number of matching lines.
-A n , -B n , -C n : show n lines of context after, before, or both sides of a match.
-E and -P : enable extended and Perl‑compatible regular expressions.
Example of a basic search:
grep "hello" file.txtExample of a recursive, case‑insensitive search:
grep -i -r "error" *.logAdvanced usage includes:
Searching only specific file types with --include "*.txt" . Excluding files using --exclude "*.log" . Specifying multiple patterns with -e "pattern1" -e "pattern2" . Using --line-buffered for real‑time output on large files.
These techniques enable powerful and flexible text searching across various scenarios in Linux environments.
DevOps Operations Practice
We share professional insights on cloud-native, DevOps & operations, Kubernetes, observability & monitoring, and Linux systems.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.