Linux Commands

Using Grep Q

“grep” is a very useful command of Linux, which comes with a wide range of different options that are used to serve specific purposes. In its simplest form, the “grep” command is used for searching text or strings within a specified file. In this article, we will be sharing with you the usage of the “grep” command with the “q” flag in Linux Mint 20.3.

Purpose of Using the Grep Command with the “q” Flag in Linux Mint 20.3:

Before proceeding with the usage of the “grep” command with the “q” flag, we first need to understand the purpose behind doing so. Whenever the “grep” command is combined with the “q” flag, it is essentially used to terminate the execution of this command without displaying any output. However, it still looks for a match within the specified file. If the match is found, it stores the integer “0” inside the special variable “$?” and if not, then it stores “1” in that variable. It means that to know if a match was found or not as a result of executing the “grep” command with the “q” flag, you will have to access the value of the “$?” special variable. You will be able to understand it better by looking at the examples shared below.

Examples of Using the Grep Command with the “q” Flag in Linux Mint 20.3:

Before sharing with you the examples of using the “grep” command with the “q” flag in Linux Mint 20.3, we would like to share with you the sample file that we will be using for these examples.

Sample File Used for Demonstration:

To show the contents of this file to you, we have executed the following command:

$ cat sample.txt

This is what our sample text file looks like:

Now, we can easily get started with the usage of the “grep” command with the “q” flag.

Example # 1: Finding a Word that exists within the Sample File:

In this example, we will try to look for a word that is present in our sample file by using the “grep” command. For that, we have executed the “grep” command in the manner shown below:

$ grep –q World sample.txt

With the help of this command, we want to look for the word “World” within our file “sample.txt.” Now, since we have used the “q” flag with the “grep” command, therefore, as soon as a suitable match is found, the execution of this command will terminate without displaying anything on the terminal.

To find out if a match was found or not, we will try to access the value of the “$?” special variable by running the following command:

$ echo $?

The value of this special variable turned out to be “0,” as shown in the image below, which implies that the match of the specified word was found within our specified file.

Example # 2: Finding a Word that does not exist within the Sample File:

In this example, we want to explore the output of the “grep” command with the “q” flag when we try to look for a word that does not exist within a file. For that, we have executed the following command:

$ grep –q  jam sample.txt

In this command, “jam” is the word that we want to look for in our file “sample.txt,” and we know that this word does not exist within our file. Upon execution of this command, nothing will be displayed on the terminal.

Now, to check whether a suitable match was found or not, we will check the value of the “$?” variable again by running the command shown below:

$ echo $?

This time, the value of this special variable turned out to be “1,” which implies that the specified word does not exist within our specified file, as shown in the following image:

Conclusion:

In this article, we wanted to teach you the usage of the “grep” command with the “q” flag in Linux Mint 20.3. With the explanation given in this article, you will hopefully be able to develop a sound understanding of using the “grep” command in this way. Moreover, we have also shared two very simple examples with you to make this concept clearer for you.

About the author

Karim Buzdar

Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.