Linux Pipe Command with Examples

10

The ‘pipe’ command is used in both UNIX and Linux operating systems. Pipes help combine two or more commands and are used as input/output concepts in a command. In the Linux operating system, we use more than one pipe in command so that the output of one command before a pipe acts as input for the other command after the pipe. In this article, we have discussed many examples to understand the basic functionality of pipes.

Prerequisites

To apply pipe commands on Linux, you need to have a Linux environment in your system. This can be done by downloading a virtual box and configuring an Ubuntu file on it. Users must have privileges to access the applications required.

Syntax

Command 1 | command 2 | command 3 | ……

Sort the list using pipes

The pipe has much functionality used to filter, sort, and display the text in the list. One of the common examples is described here. Suppose we have a file named file1.txt having the names of the students. We have used the cat command to fetch the record of that file.

The data present in this file is unordered. So, to sort the data, we need to follow a piece of code here.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620388 486 Linux Pipe Command with Examples

Through the respective output, you can see that students’ names are arranged alphabetically in a sequence from a to z.

Beside this. Suppose we want to get an output in sorted form plus removing redundancy. We will use the same command and a “uniq” keyword in addition to the default command. Let’s consider a file named file2.txt having the names of subjects in it. The same command is used for fetching data.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620388 323 Linux Pipe Command with Examples

Now we will use the command to remove all the words that are duplicated in the file.

$ Cat file2.txt | sort | uniq

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620389 474 Linux Pipe Command with Examples

The output shows that the elements are organized and arranged alphabetically. At the same time, all the words that were duplicated are removed. The above command will only display the output, but we will use the below-cited command to save them.

$ cat file2.txt | sort  | uniq > list4.txt

The output will be saved in another file with the same extension.

Display file data of a corresponding range

It is very annoying when you want to get some data only from the start, but the command gives you all the matching items in your system. You can use the ‘head’ keyword. It helps to limit your output with concerning some range. i.e., in this example, we have declared the range up to 4. So the data will be from the first 4 lines of the file. Consider the same file file2.txt as we have taken an example above.

$ Cat file2.txt | head -4

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620389 306 Linux Pipe Command with Examples

Similar to head, we can also use the tail option. This will limit the output to the last lines according to the range given.

Pipe and more command

By using more command, all the output is displayed at a time on the screen. The pipe act as a container and displays all the output data as an input of ls-l. Because the output is a long list of files.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620390 84 Linux Pipe Command with Examples

Ls is used to display all possible data of the respective command. It firstly displays the total number of data related to the corresponding query.

Count the number of files

It is a common need to know the number of files currently present. And it is not necessary to use the grep or cat command to fetch data of all the types. We can use pipe in this case either. The command used is written as:

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620390 766 Linux Pipe Command with Examples

Whereas wc is “word count” used to count the files present.

Process identification

Many complicated tasks are also performed by using the pipe in our commands. The command we are discussing now is used to display the process ids of the systemd processes.

$ ps –ef | grep systemd | awk{print $2}

The awk command’s $2 displays the data of $2 that is the second column.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620391 180 Linux Pipe Command with Examples

Get sub-directories using pipe

One of the pipeline commands we have used to get all the present subdirectories in the current directory is one of the pipe queries in the pipeline commands we have used. We have used the grep command here. Grep only functions to show the data starting from the ‘d’. The pipe will help in retrieving the respective data of all the directories. ‘^d’ is used here.

$ ls –al | grep ‘^d’

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620391 553 Linux Pipe Command with Examples

Get files using pipe

To get the files from the system of respective extensions, we can get this by using the pipe in our commands. The first example is finding the java files in the system. ‘locate’ and ‘grep’ help get the files of respective extensions.

$ locate*.java” | grep java

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620392 733 Linux Pipe Command with Examples

‘*’ is used to fetch all the files in the system. Currently, we have a single file present in our system. The second example is to get the files with the extension of the text. The entire command is the same only the file extension is changed.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620392 878 Linux Pipe Command with Examples

Use multiple pipes in a single command

In this example, unlike the earlier ones, we have used more than one pipe in a single command to elaborate its functionality. Consider a file named file3.txt.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620393 535 Linux Pipe Command with Examples

Now we want to get the record of the word that matched with the name we have provided in the command. Here cat command is used to fetch the data from a particular file. Grep is used to select that specific word from the file. ‘tee’ is used to save the result in another file. And wc is to count the resultant data. So the result is shown below.

$ Cat file3.txt | grep “yasin” | tee file4.txt | wc –l

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620393 860 Linux Pipe Command with Examples

The word is matched with the 2 contents. We can display the data from the new sample file to display the whole result, where the result is being stored.

Fetch particular data with pipes

In this example, we want to get the data from the file having ‘h’ in its content.

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620393 75 Linux Pipe Command with Examples

The result shows that the fetched data is according to the search by the ‘h’ command. Moving towards the following example. Here we want to fetch the items of the file having ‘s’ in it, but we have applied a condition of case sensitivity. Both upper and lower case alphabets will be fetched.

$ Cat file2.txt | grep –i s

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620394 689 Linux Pipe Command with Examples

The result is shown in the image. Next, we will display the students’ names having alphabets ‘a’ and ‘t’ combined in the word. The result is in the below-cited image.

$ cat file1.txt | grep “a+t”

Linux Pipe Command with Examples Linux Pipe Command with Examples 1625620394 424 Linux Pipe Command with Examples

Conclusion

The article depicts the versatility of pipe in Linux commands. However, it is quite simple but works in a manner to resolve many complex queries. This command-line utility is easily implementable and compatible with UNIX and Linux operating systems.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More