Grep: Difference between revisions
No edit summary |
No edit summary |
||
Line 53: | Line 53: | ||
This is very convenient when you're greping for something, and want to edit that line in the file in [[vim]] | This is very convenient when you're greping for something, and want to edit that line in the file in [[vim]] | ||
== egrep == | |||
If you have a complex search term, you can use [[Regular Expressions]] with egrep. | |||
Usage: | |||
egrep 'Regular Expression here' filename.txt | |||
Like this: | |||
<code>egrep '[aeiou]{3,}' filename.txt</code> | |||
This will find any three vowels that are right next to each other in filename.txt | |||
You can put any [[Regular Expressions]] inside the single quotes. | |||
== References == | == References == |
Revision as of 02:54, 23 December 2016
Usage
grep searches the name file or files for the specified string. (You can also use egrep to search inside a file using Regular Expressions )
Case Sensitive
grep bananas filename.txt
This searches for the word bananas in the file, filename.txt
Note that the search is case sensitive. It will not find Bananas, or BANANAS.
If you want it to find all of those, use:
grep -i bananas filename.txt
String-Search
grep searches for strings, not words. It will match partial words, whole words, and that string inside a whole block of text.
So, if I'm looking inside a file for the word "the", and I use:
grep the filename.txt
grep will output all of the following:
- the
- themselves
- theory
- another
(etc...)
... wait, we only wanted "the"...
Fortunately, we can tell grep to do that, like so:
grep -w the filename.txt
This will tell grep to only match the word "the".
Show Line Numbers
You can make grep show the numbers the match is on:
grep -n candy candylist.txt
This will show the number of the line the match is on, like this:
5: candycanes 18: cotton candy is yummy, too 42: Candy bars:
This is very convenient when you're greping for something, and want to edit that line in the file in vim
egrep
If you have a complex search term, you can use Regular Expressions with egrep.
Usage:
egrep 'Regular Expression here' filename.txt
Like this:
egrep '[aeiou]{3,}' filename.txt
This will find any three vowels that are right next to each other in filename.txt You can put any Regular Expressions inside the single quotes.