In this post, we will see how to use Basic regular expressions to increase the power of grep command.
Basic regular expressions:
^ -- Caret symbol, Match beginning of the line. $ -- Match End of the line * -- Match 0 or more occurrence of the previous character . – Match Any single character [] – Match Range of characters, just single occurrence. [a-z] –Match small letters [A-Z] –Match cap letters [0-9] – Match numerical. [^] – Match Negate a sequence -- Match Escape character.
If we learn any new thing with the example, it will be there for a long time in our mind. Now we will see one example each regular expression what we have given above.
Example1: Find all the lines which start with “Mr”
grep ‘^Mr’ filename
Example2: Find all the lines which end with ‘sh’
grep ‘sh$’ filename
Example3: Display all the lines in a file expect empty lines.
grep –v ‘^$’ filename
Note:-v option is used to negate the search term, here ^$ indicates empty line, so our grep –v is filtering blank lines in the output.
Example4: Search for words which are bash, baash, bsh, baaash, baaaaash,
grep ‘ba*s’ filename
The above grep command will search for words which have a between b and s zero or more times.
Example5: Search for all words which start with b and h
grep ‘b.*h’ filename
Example6: Search for a word which is having three letters in it and starts with x and ends with m.
grep ‘x[a-z]m’ filename
This search will return all the three letter words which start with x and ends with m.
Example7: Search words do not contain ‘ac’ in a file.
grep ‘[^ac]’ filename
Example8: Search for a ‘[‘ in a file
Note: The “[“ is a special character, you cannot search with regular grep we have to use escape character () to negate it. So use ‘[‘ to search for [. This is applicable for all the special characters mentioned above.
grep ‘[’ filename
Please feel free to comment on this, if you have more thoughts. Stay tuned to our next grep post on how to use extended regular expressions.
0 comments:
Post a Comment