Grep_fgrep

  • Uploaded by: Nihar Sawant
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Grep_fgrep as PDF for free.

More details

  • Words: 1,102
  • Pages: 18
frep & grep commands in UNIX Anisha (31) Jaee (32) Amber (33) Nihar (34) Shanawaz (35)

Introduction •





Basically when we create a file in UNIX or in any OS, we always need a way to search whatever we want in that file. In UNIX basically grep, fgrep, sed, sh are different types of commands which are used for searching a pattern in an input file. Depending upon user needs this command gives output/search result from given file.

grep command • •

• • •

Used for searching & printing the specified pattern from input. It is the abbreviation for “Global search for regular expression & print”. Where “Global” means entire file or standard input. “regular expression” means metachar pattern. “print” means to print ‘em all .



Syntax for grep: grep [options] pattern file/s

• • • •

Here ‘pattern’ plays an important role. Consider a file named as demo.txt After Concatenate we have: $ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

• •

Input : $ grep Nihar demo.txt Output : Nihar | 18 | M | 34



List of controls: l

-i : Ignore case distinctions in both the PATTERN and the input files. Input : $ grep –i 19 demo.txt output : Anisha | 19 | F | 31



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

2. -n: Prefix each line of output with the line number within Its input file. Input : $ grep -n F demo.txt output : 1:Anisha | 19 | F | 31 2:Jaee | 18 | F | 32



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

3.-v: Invert the sense of matching, to select nonmatching lines Input : $ grep -v Amber demo.txt output : Anisha | 19 | F | 31 Jaee | 18 | F | 32 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

4. -c: Suppress normal output; instead print a count of matching lines for each input file. Input : $ grep -c M demo.txt Output : 3 5. -o: only-matching Show only the part of a matching line that matches PATTERN. Input : $ grep –o Amber demo.txt Output : Amber



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35



Using Regular Expressions: 2.

Display results which starts in range which are given in pattern. Input : $ grep -i ‘^[a-j]’ demo.txt Output : Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

2. Display the results which starts with the given pattern. Input : $ grep -i “[n,s]” demo.txt Output : Nihar | 18 | M | 34 Shanawaz | 18 | M | 35 3. Display result which starts & ends with the given pattern Input : $ grep ‘A*r’ demo.txt Output : Amber | 18 | M | 33



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

4. Display result which ends with the given pattern Input : $ grep ‘35$’ demo.txt Output : Shanawaz | 18 | M | 35

grep command with PIPES: 3.

Search for the directories in given location. Input : $ ls –l | grep ‘^d’ Output :drwxrw-rw- 2 user group 1234 Mar 19 13:01 Desktop

drwxrw-rw- 4 user group 1234 Mar 19 13:01 Music drwxrw-rw- 2 user group 1234 Mar 19 13:01 Docs

2. Search for an extension of file. That is (.). But in grep treats dot as special character. Hence we have to put ‘ \ ’ before dot to take command literally. Input : $ ls –l | grep ‘\.txt’ Output: -rw-rw-rw- 2 user group 23 Mar 19 13:01 demo.txt

-rwxr—r-- 2 user group 12 Mar 19 13:01 demo1.txt

Fgrep Command  Fgrep

command stands for ‘fixed

grep’.  Means, you can only search for fixed strings without use of any regular expression.  Like grep also you can simply add pattern while search.



Syntax for fgrep: fgrep [option] pattern file



List of Options in fgrep:

4.

-l: Print the names of files with matching lines once, separated by new-lines. Does not repeat the names of files when the pattern is found more than once Input: $ grep Amber demo.txt output: demo.txt



$ cat demo.txt Anisha | 19 | F | 31 Jaee | 18 | F | 32 Amber | 18 | M | 33 Nihar | 18 | M | 34 Shanawaz | 18 | M | 35

l

-x: Print only lines matched entirely. input: grep –x Jaee | 18 | F | 32 demo.txt output: Jaee | 18 | F | 32

Summary  grep

& fgrep are two most important & vast commands in Unix, when it comes about searching elements, files or directories present in your computer hard disk.  Both commands are similar, they differ by fraction of margin.

Bibliography  Working

with ‘Unix’- vijay mukhi  Shell scripts- y. kanetkar  www.computerhope.com  www.wikipedia.com  www.unix.com  www.google.com

Thank You!!

More Documents from "Nihar Sawant"

Grep_fgrep
June 2020 4
About Cricket.docx
April 2020 3
01-lp_tae.docx
June 2020 6
Bridge-model.pdf
December 2019 11