---
layout: page
author: Domenico Votta
category-page: advanced
category-title: Advanced commands
tags: search for occurencies
title: grep
previous-page: pages/cmd/advanced/emacs.html
next-page: pages/cmd/advanced/head-tail.html
---
grep
is a command that allows you to search occurrences of one or more
keywords in one or more files. Through some flags you can decide on the search criteria.
The command grep is case sensitive (robot is different from Robot), but we will see how
to ignore that.
Here we have two files named example1.txt
and
example2.txt
that contain 5 elements, to test this command:
example1.txt
{% highlight bash %}
Car
Computer
Robot
Smartphone
Videogame
{% endhighlight %}
example2.txt
{% highlight bash %}
Apple
Computer
Robot
Microsoft
Huawei
{% endhighlight %}
The syntax command is:
grep [flag] [keyword] [file]You can put different flags together to refine the search.
grep Robot example1.txt example2.txt (if you write robot you won't have the correspondence.) example1.txt: Robot example2.txt: RobotYour output will be this because grep found the keyword Robot in both files
grep -i robot example1.txt example2.txt example1.txt: Robot example2.txt: Robot
grep -i -v robot example1.txt example2.txt example1.txt:Car example1.txt:Computer example1.txt:Smartphone example1.txt:Videogame example2.txt:Apple example2.txt:Computer example2.txt:Microsoft example2.txt:Huawei
grep -i -c robot example1.txt 1(If in the file you would have had two times the keyword Robot, the output would have been 2)
grep -i -h apple example1.txt example2.txt AppleHow you can see the output doesn't show the file name
example2.txt