Pattern Searching

Pattern Searching

·

2 min read

GREP stands for Global Regular Expression Print / Pattern. It helps us to find the pattern through different ways.

a)Currently I am in /home/ubuntu. Consider there is a file testing.txt inside ubuntu directory. I am adding the content We are learning devops under testing.txt file

Apple

Mango

Banana

Orange

Pineapple

Grapes

We are learning devops

Now we can run the command

ubuntu@ip-172-31-25-118:~$ grep devops testing.txt

Syntax: grep <keyword-name> <filename/directoryname>

Output: We are learning devops

Now if we change the devops character to DevOps then it won't print the output because grep will search only for pattern.

ubuntu@ip-172-31-25-118:~$ grep DevOps testing.txt

For this, we need to use -i flag. It search for pattern on the basis of Case Insensitive.

ubuntu@ip-172-31-25-118:~$ grep -i DevOps testing.txt

Output: We are learning devops

Note:- If there is a directory and if you search any content inside that directory then you can run below command.

grep -r devops folder1/ -> Here '-r' stands for recursive which recursively search the subdirectories and file inside parent directory.

I have created a content "How are you" inside grep.txt file

root@ip-172-31-25-118:/home/ubuntu/A# vim grep.txt

Now I am at the home directory.

root@ip-172-31-25-118:~# grep -r are /home/ubuntu/A

Output: /home/ubuntu/A/grep.txt: how are you?

Eg: You can fetch the user from /etc/passwd file

ubuntu@ip-172-31-25-118:~$ cat /etc/passwd | grep daya

Using pipe symbol (|) you can take the output of one command and share that output as a input to second command.

Output: daya:x:1002:1003::/home/daya:/bin/sh

Also you can copy these output in some file using Redirection (>)

Eg: ubuntu@ip-172-31-25-118:~$ cat /etc/passwd | grep daya > tester.txt

ubuntu@ip-172-31-25-118:~$ cat tester.txt

Output: daya:x:1002:1003::/home/daya:/bin/sh

Eg: It find the specific word.

ubuntu@ip-172-31-25-118:~$ lsblk | grep -w loop

Output:

loop0 7:0 0 25.2M 1 loop /snap/amazon-ssm-agent/7993

loop1 7:1 0 55.7M 1 loop /snap/core18/2829

loop2 7:2 0 38.8M 1 loop /snap/snapd/21759