Grep is a command used to find words in a string or file. By default, grep is case sensitive. That means all of these search terms would be treated differently:
- “COMMAND LINE”
- “command line”
- “CoMMand LiNe”
To clarify, if my file contained the string “command line”, none of the above searches would return anything.
Grep Ignore Case
You can add an -i or –ignore-case flag to make grep case sensitive:
grep -i “command line” textfile.txt
grep –ignore-case “command line” textfile.txt
Running Through an Example
1. Run the following in your terminal:
This command will create a file called grepFacts.txt, put the 6 facts of grep that we’ve written out for you into that file, and save it in your current directory.
2. [Feel Free To Skip This Step] If you’re curious or want to verify that this command is actually saved in your file, run cat grepFacts.txt. This command will output all the contents of the file grepFacts.txt.
3. Run grep “grep” grepFacts.txt.
As you can see, this command only matches with the lowercase version of “grep”.
4. Now, run grep -i “grep” grepFacts.txt.
As you can see, this command matches with all instances of “grep”, regardless of case.
To recap, the grep command allows you to search for a pattern inside of files, and is case sensitive by default. To make grep case insensitive, all you have to do is add an -i or —ignore-case flag.
As always, you can type man grep into your command line to get the official documentation for grep and all its flags and parameters. If you want to learn more, check out this page for more information on the grep command.