grep command

UNIX/LINUX grep command

unix/linux_grep_command

Grep command in Unix/Linux is the short form of 'global search for the regular expression'.

The grep command is a filter that is used to search for lines matching a specified pattern and print the matching lines to standard output.

Syntax:

grep [options] [pattern] [file]

The pattern is specified as a regular expression. A regular expression is a string of characters that is used to specify a pattern matching rule. Special characters are used to define the matching rules and positions.

  1. Anchor Characters: '^' and '$' at the beginning and end of the pattern are used to anchor the pattern to the start of the line, and to the end of the line respectively.

    Example : "^Name" matches all lines that start with the string "Name".

  2. Wildcard Character: '.' Is used to match any character.

    Example : "^.$" will match all lines with any single character.

  3. Escaped Characters: Any of the special characters can be matched as a regular character by escaping them with a '\'.

    Example: "\$\*" will match the lines that contain the string "$*".

  4. Character Range: A set of characters enclosed in a '[' and ']' pair specify a range of characters to be matched.

    Example: "[aeiou]" will match all lines that contain a vowel. A hyphen can be used while specifying a range to shorten a set of consecutive characters. E.g. "[0-9]" will match all lines that contain a digit. A carat can be used at the beginning of the range to specify a negative range. E.g. "[^xyz]" will match all lines that do not contain x, y or z.

  5. Repetition Modifier: A '*' after a character or group of characters is used to allow matching zero or more instances of the preceding pattern.

The grep command supports a number of options for additional controls on the matching:

  • -i: performs a case-insensitive search.
  • -n: displays the lines containing the pattern along with the line numbers.
  • -v: displays the lines not containing the specified pattern.
  • -c: displays the count of the matching patterns.
  • -h: Display the matched lines, but do not display the filenames.
  • -l: Displays list of a filenames only.
  • -e exp: Specifies expression with this option. Can use multiple times.
  • -f file: Takes patterns from file, one per line.
  • -E: Treats pattern as an extended regular expression (ERE).
  • -w: Match whole word
  • -o: Print only the matched parts of a matching line, with each such part on a separate output line.

Examples:

  • Match all lines that start with 'hello'. E.g: "hello world"
    $ grep "^hello" file1
    
  • Match all lines that end with 'done'. E.g: "well done"
    $ grep "done$" file1
    
  • Match all lines that contain any of the letters 'a', 'b', 'c', 'd' or 'e'.
    $ grep "[a-e]" file1
    
  • Match all lines that do not contain a vowel
    $ grep "[^aeiou]" file1
    
  • Match all lines that contain the word hello in upper-case or lower-case
    $ grep -i "hello"
    
  • Inverting the pattern match : You can display the lines that are not matched with the specified search sting pattern using the -v option.
    $ grep -v "unix" file1
  • Specifies expression with -e option. Can use multiple times :
    $ grep –e "Agarwal" –e "Aggarwal" –e "Agrawal" file1


If you like dEexams.com and would like to contribute, you can also write your article here or mail your article to admin@deexams.com . See your article appearing on the dEexams.com main page and help others to learn.


Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


Python if , elif and else

Python Conditions and If statements

  • 0
Python for beginners

Learning Python Part 1

  • 3
Struct Alignment and Padding

Struct Alignment and Padding in C++ And C

  • 0
Friend function

Friend function C++

  • 0
Pointers

C++ Pointers

  • 0
Structures

C++ Structures

  • 0
Types of Inheritance in C++

Inheritance and access specifiers C++

  • 0
Java date pattern

Java Date Pattern Syntax

  • 0
Java Date and Calendar

Java Date formats

  • 0
JAVA Data Type

Data types in Java

  • 0
Java unreachable code

Unreachable Code Error in Java

  • 0

Post Comment

Comments(0)

WEB TECHNOLOGY

Articles

×

Forgot Password

Please enter your email address below and we will send you information to change your password.