Grep scans its input for a pattern, and can display the selected pattern, the line numbers of the filenames where the pattern occurs, The command uses the following syntax
grep options pattern filesname(s)
grep searches for pattern in one or more filenames.
Example for Grep command:
- grep “sales” emp.lst
- grep “director” emp1.lst emp2.lst
- grep ‘jai sharma’ emp.lst
- grep “jai Sharma $var” emp.lst
Ignoring Case (i) When you look for a name, but you are not sure of the case, grep offers the –i (ignore) option which ignores case for patteen matching.
> Grep –i ‘agarwal’ emp.lst
Deleting Lines or Inverse(-v): -v (inverse) option selects all except lines containing the pattern. Thus, you can create a file other list containing all but director.
> Grep –v “director” emp.lst > other list
Displaying line Numbers (-n): The –n(number) options displays the line numbers containing the pattern, along with the lines:
> grep –n ‘marketing’ emp.lst
Counting Line Containing patterns (-c): The –c (count) option counts the number of lines containing the pattern ( which is not the same as number of occurrences).
- grep –c director emp.lst
- grep –c director emp*.lst
Displaying Filenames (-l): The –l (list) option displays only the files names of files containing the pattern.
> grep –l ‘manager’ *.lst
Matching Multiple Patterns(-e): With the –e option, you can match the three agarwals by using grep like this:
> grep –e “Agarwal” –e “aggarwal” –e “agarwal” emp.lst
Taking patterns from a file (-f): we can place all patterns in a separate file, one pattern per lin. Grep takes inputs from there with the –f option:
> grep –f pattern.lst emp.lst