The grep
command in Linux is a powerful utility for searching through text using patterns called regular expressions. Here’s a brief overview of how to use the grep
command:
Basic Usage:
- To search for a simple pattern in a file:
grep 'pattern' filename
Options:
-i
: Ignore case when searching.-v
: Invert the match to show lines that do not contain the pattern.-r
: Recursively search through directories.-n
: Show line numbers along with the matching lines.-l
: Show only the names of files that contain the match.-E
: Interpret the pattern as an extended regular expression (more complex patterns).
Examples:
- Search for the word “error” in a case-insensitive manner:
grep -i 'error' filename
![](https://www.linuxcommands.site/wp-content/uploads/2024/07/image-12-1024x236.png)
- List all lines that do not contain the word “error”:
grep -v 'error' filename
- Recursively search for the pattern in a directory:
grep -r 'pattern' /path/to/directory
- Show line numbers for matching lines:
grep -n 'pattern' filename
- Use extended regular expressions to find lines with three consecutive digits:
grep -E '(\d){3}' filename
- Find files containing the pattern and show their names:
grep -l 'pattern' *
- Combine
grep
with other commands (e.g.,ls
) to filter output:
ls -l | grep 'pattern'
- Use
grep
to search for a pattern and then pipe the output to anothergrep
to exclude a specific pattern:
grep 'include_pattern' filename | grep -v 'exclude_pattern'
grep
is a versatile command that can be used in various ways to filter and search through text data in the Linux command line.