Suggested Read: 12 Awesome Linux Find Command Examples
In this tutorial, we will show you how to use the Grep command with some practical examples.
Prerequisites
A system running the Linux operating system. Access to a terminal/command line.
To Search a Specific String in a File
To search for a string tecadmin in the file file1.txt, run the following command:grep tecadmin file1.txt This command will print all lines that contain a word tecadmin:tecadmin is a popular linux blog i love tecadmin tecadminlinux To search for an exact string tecadmin in the file file1.txt, run the following command:grep -w tecadmin file1.txt This command will print all lines that contain a whole word tecadmin:tecadmin is a popular linux blog i love tecadmin To search for a string tecadmin case insensitively in the file file1.txt, run the following command:grep -i tecadmin file1.txt This command will print all lines that contain a word tecadmin case insensitively:tecadmin is a popular linux blog i love tecadmin tecadminlinux Tecadmin is my favourite blog This is Tecadmin website
To Search a Specific String in Multiple File
To search for a string linux in file file1.txt and file2.txt, run the following command:grep -i linux file1.txt file2.txt This command will print all lines that contain a word linux in file1.txt and file2.txt:file1.txt:tecadmin is a popular linux blog file1.txt:tecadminlinux file2.txt:Linux is an open-source operating system. file2.txt:linux is made by linus torvalds. file2.txt:linux is most popular operating system. To search for a string linux in all files in the current directory and sub-directories, run the following command:grep -r linux * This command will print all lines that contain a word linux in all files in the current directory and sub-directories:file1.txt:tecadmin is a popular linux blog file1.txt:tecadminlinux file2.txt:linux is made by linus torvalds. file2.txt:linux is most popular operating system. file3.txt:linux vs windows file3.txt:Ubuntu is a linux operating system
Inverse Grep Search
You can use grep command with -v option to print all lines that do not match a specific pattern of characters.
For example, print all lines that don’t contain the string linux in file1.txt and file2.txt, run the following command: This command will exclude all the lines that contain the string linux:
To List Filenames That Matches Specific Pattern
You can display only filenames that contain a specific string using -l option. For example, list all filenames in the current directory that matches the string tecadmin, run the following command: You should see the following output:
Display the Number of Matches
You can use grep with -c option to display all files with the number of lines that matches the given string. For example, to display all files with the number of lines that matches a string linux in the current directory, run the following command: You should see the following output:
Display Line Number with Matching Pattern
You can use grep with -n option to print line numbers with matching patterns. For example, to display line number that matches the pattern linux in the current directory, run the following command: You should see the following output:
You can also display one line before and after the matching string using the option c and n with grep command. For example, display one line before and after the matching string linux in file4.txt, run the following command: You should see the following output:
Display Only Matching Pattern
By default, grep command prints the entire line which matches a pattern. You can print only matching patterns using the -o option. For example, search for file1.txt that matches the string/pattern linux with the following command: You should see the following output:
Conclusion
In the above tutorial, you learned how to use the grep command to search for a specific string in files. I hope you have now enough knowledge of grep command and how it is used in various conditions.