grep
Commandgrep
The grep
command is used to search for patterns within text files. It searches line-by-line and returns the lines that match the given pattern.
grep [options] pattern [file...]
Where [pattern]
is the string or regular expression you're searching for, and [file...]
is one or more files in which to search.
grep
grep pattern [file]
(Basic Search)Search for a pattern in a file:
grep "example" file.txt
This command searches for the word "example" in file.txt
.
grep -i pattern [file]
(Case-Insensitive Search)Perform a case-insensitive search:
grep -i "example" file.txt
This command finds occurrences of "example", "Example", or any case variant in the file.
grep -r pattern [directory]
(Recursive Search)Search for a pattern recursively through all files in a directory:
grep -r "example" /path/to/directory/
This command will search for "example" in all files under the specified directory and its subdirectories.
grep -v pattern [file]
(Invert Match)Exclude lines that match the pattern:
grep -v "example" file.txt
This will display all lines that do not contain the word "example".
grep -n pattern [file]
(Show Line Numbers)Display the matching line numbers in addition to the matching lines:
grep -n "example" file.txt
This will show both the line number and the line itself that contains the pattern "example".
grep -l pattern [file...]
(List Files with Matches)Display only the names of files with matching lines:
grep -l "example" *.txt
This command lists all .txt
files that contain the word "example".
grep -c pattern [file]
(Count Matching Lines)Show the number of lines that match the pattern:
grep -c "example" file.txt
This will display the number of lines that contain the word "example" in the file.
grep -w pattern [file]
(Match Whole Words)Search only for whole words that match the pattern:
grep -w "example" file.txt
This will match only the word "example" as a complete word and not parts of other words like "examples".
grep -E pattern [file]
(Extended Regular Expressions)Use extended regular expressions in the search:
grep -E "(example|test)" file.txt
This allows for more complex pattern matching, like finding either "example" or "test".
grep -A [n] pattern [file]
(Show Lines After Match)Show n
lines after each matching line:
grep -A 3 "example" file.txt
This will display the matched line along with the 3 lines that follow it.
grep -B [n] pattern [file]
(Show Lines Before Match)Show n
lines before each matching line:
grep -B 3 "example" file.txt
This will display the matched line along with the 3 lines that precede it.
grep -C [n] pattern [file]
(Show Context Around Match)Show n
lines before and after each matching line:
grep -C 3 "example" file.txt
This will show 3 lines before and 3 lines after the matched line.
grep --help
Displays help information for the grep
command:
grep --help
Option | Description |
---|---|
grep pattern [file] |
Search for a pattern in a file. |
grep -i pattern [file] |
Perform a case-insensitive search. |
grep -r pattern [directory] |
Search recursively in all files under a directory. |
grep -v pattern [file] |
Exclude lines that match the pattern. |
grep -n pattern [file] |
Show line numbers for matching lines. |
grep -l pattern [file...] |
List file names that contain the pattern. |
grep -c pattern [file] |
Count matching lines. |
grep -w pattern [file] |
Match whole words only. |
grep -E pattern [file] |
Use extended regular expressions. |
grep -A [n] pattern [file] |
Show n lines after each match. |
grep -B [n] pattern [file] |
Show n lines before each match. |
grep -C [n] pattern [file] |
Show n lines around each match. |
grep --help |
Display help for the command. |
For more detailed information, use the manual page for the grep
command:
man grep