How to use Grep to Search in the Terminal
What is Grep?
Grep is a Unix and Linux command that searches a file for a particular pattern of characters.
It actually stands for globally search for regular expression and print out.
If you want to find all of the lines in a file that contain a particular string,
grep is a helpful tool you can use without having to leave the terminal.
How to Use Grep
In a Unix or Linux environment, the grep command can be called in the terminal like so:
grep [options] [pattern] [files] grep -r println .
Some commonly used options:
-r : Recursive search, looks in all files and directories. -c : This prints only a count of the lines that match a pattern -f file : Takes patterns from file, one per line. -h : Display the matched lines, but do not display the filenames. -l : Displays list of a filenames only. -i : Ignores, case for matching -n : Display the matched lines and their line numbers. -v : This prints out all the lines that do not matches the pattern -w : Match whole word -o : Print only the matched parts of a matching line
For a full list of Grep options, check out the manual.
Example Usage of Grep
Let's say I'm working on a feature and want to remove references to a certain object, everywhere that it's called.
I can search my project for instances of this Foo object like so:
grep -r Foo .
This will perform a recursive search (the -r option) meaning it will search the given file and all subdirectories it encounters.
In this example my current directory contains a
src directory that also leads to
src/assets. Both of these will search all of their files for any like of code containing the work "Foo".
I can narrow down my search to a specific file or directory too.
The output will be a list of files containing the search patten and the instance of the pattern.
And that's how to use Grep!