A utility to search content input that match with one or more RegEx patterns. The content input can be provided by either passing a file path or from a standard input (stdin).
General syntax for grep
command:
$ grep [OPTIONS...] [PATTERN] [FILE...]
Search for something within a file
grep exp FileName.txt
grep
is a powerful command that allows you to search for a specific set of characters, or words exist in a file, or multiple files. The command above search for exp
within FileName.txt
, and return results when found.
Note: grep
is by default case-sensitive, and without other parameters involved, grep
would return results as long as it matches “exp”.
Example:
- “exp” = true
- “Exp” = false
- “exponential” = true
- “Expensive” = false
Search for something in multiple files
grep all name1.txt name2.txt name3.txt
This command expands searching to multilple specified filenames. The example command seach for the word “all” in name1.txt
, name2.txt
and name3.txt
Finding an exact word with grep
grep -w example Example.txt
With the -w
parameter, grep
gets more precise in its search and only return true if the exact word matches. In the command above, grep
search for “example” in Example.txt
.
Any of the following would return false:
- Example
- examples
Case-insensitive search with grep
grep -i being ExampleFile.txt
With the -i
parameter, grep
will search in a case-insensitive manner and will return true as long the input matches, regardles if it’s lowercase or uppercase characters.
The command above searches for the word “being” in ExampleFile.txt
, and will return result if found.
All the following will return true with existence of -i
:
- “Being”
- “beING“
Count and output word repeatation with grep
grep -c smallness TextFile.txt
With the -c
parameter, grep
will first find if a specific word exist, and then count how many times it’s being repeated. The command above search for “smallness” and return the number of times it existed in TextFile.txt
.
Inverse search with grep
grep -v lorem sometext.txt
The parameter -v
excludes the entire line that matches the input pattern, and output the rest that doesn’t contain it. The command above searches for “lorem” in sometext.txt
. Any lines without “lorem” will return true.
Display matching line and list line number
grep -n ipsum randomtext.txt
The parameter -n
returns content with line-count. When a search word is included, it returns the entire line (where word exists) with its line-count. The command above search for “ipsum” in randomtext.txt
, and its output shows which line “ipsum” is at.
List filenames that contain matched string
grep -l dolor *txt
With the -l
parameter, only .txt
extension files that contain the word “dolor” will return true. Filenames will be printed instead of the entire lioe.
Search lines starting with a pattern
grep ^Example TextFile.txt
The character ^
in front of a search-pattern suggests grep
should only look words that starts with the search-pattern and nothing else. The command above will search in TextFile.txt
, and return all lines that begins with “Example“.
Multiple pattern search with grep
grep -e lorem -e amet ExampleFile.txt
The -e
parameter can be used multiple times in the same command; each paired with a search-pattern, allows you to be more specific in searching for something in a file. The command above searches for the words “lorem“, and “amet” in ExampleFile.txt
, and return if true/found.
The post How to Use the Grep Command in Linux appeared first on Hongkiat.
from Signage https://ift.tt/jLCbdS1
via Irvine Sign Company