One of the commands I use the most in the terminal is grep, even more than cd o ls.
grep It has many options and offers dissimilar possibilities, however I use the most conventional way possible, but let's start by explaining What is grep?
grep is simply a filter, it is a command that shows lines that match the filter we have declared.
For example, in our system we have the file / usr / share / doc / bash / FAQ and the content of this file is:
If you want to list the content in the terminal with the command cat (yes cat, like cat hehe) they can do it:
cat /usr/share/doc/bash/FAQ
Now, suppose we only want to list the line of that file that talks about the version, for this we use grep:
cat /usr/share/doc/bash/FAQ | grep version
Putting that in the terminal will only show you the line that contains "version" in that file, it will no longer show any line that does not contain that word.
What if I want to show everything except the version line?
That is, in the way I explained to you, everything that matches the filter would be shown, now I will show you how to make everything appear except what matches the filter:
cat /usr/share/doc/bash/FAQ | grep -v version
Do you notice the difference? ... simply adding -v it already makes a difference 😀
So if they put grep it will only show you what matches the filter, but if you put grep -v it will show you everything except the filter.
Well here the post ends, just another tip that now maybe they can despise it but ... they have no idea how useful grep can be, it is seriously a life saver 😀
regards
Undoubtedly a very versatile command, once you learn to handle it, it makes your life easier =) ...
Hi! .. ..really a very useful command .. in my case I use it quite a bit ..
A simple example would be, for example, dpkg -l | grep 'package' (in case of distros based on debian), it is used to know if we have that package installed.
Great to give these tools to our entire community 😉
Thank you very much
Indeed, grep is as powerful as our imagination hahahaha, together with awk (and cut) they really achieve wonders * - *
I will put a couple more tips for terminal work soon 😉
Greetings and thanks for your comment.
PS: Interesting your email LOL !!
Very good!! Yes. Certainly grep is one of the life savers for anyone who likes to use the terminal. Just a couple of points: You really don't need to use the cat command at all. You can put the filename as a grep parameter like this:
grep version / usr / share / doc / bash / FAQ
Also, even if it couldn't, there would always be the option to redirect the command input by doing something like this:
grep version </ usr / share / doc / bash / FAQ
The latter can be done with any command, so it is never necessary to use cat to send a file to the input of a command.
Using a redirect instead of cat causes the shell to launch one less process, thus consuming fewer resources. It is not an appreciable difference, but it is considered good practice.
On the other hand, grep becomes really useful when using regular expressions ... If I wanted to help out by making a post about regular expressions, what would I do? Is it enough to add a new post from the wordpress desktop?
Oh interesting, I always got used to using it with cat HAHAHAHA, thanks for the tip 😀
With grep you can also make filters a little less basic, for example:
grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt
This basically shows the lines that contain the term we are searching for (which can be in any combination of upper and lower case), plus the three lines before it and the three after it, highlights the results in a different color, puts line numbers on the results, and allows the enabling of extended regular expressions that in this case allow searching in “myfile.txt” for all lines that end with desdelinux, towards linux or plain linux (with or without an endpoint).
By the way, regular expressions offer a lot of flexibility and every good "geek" with a passion for free software should learn to use them, hehe.
It is also possible to use zgrep for tablets in .ta.gz it is very useful when we want to review old logs. Cheers
Hi. thanks for the post. It happens to me that using grep, the word that I write in the lines that appear does not turn color. (generally it is like this) [example: grep cat file.txt]
the lines and the cat appear, but the cat does not turn a certain color to distinguish it
(in the ccompus of my uni it is seen)
Do you know how I could activate this option?
Please if you can answer me. my email is sps-003@hotmail.com
friend has to write cat in quotation marks 'cat' or also "cat" followed by the name of the file where he wants to look for it
Hello friend, you are absolutely right, you have a great sense of usefulness. From now on, grep will put it first in my list of favorite commands.
regards
And how would it be to show employees filtered by salary?