Pipes in bash

In Bash, pipes (|) are used to connect the output of one command to the input of another command, allowing you to create powerful data processing and transformation pipelines. Pipes enable you to chain multiple commands together, where the output of one command becomes the input for the next command. Here’s how pipes work:


command1 | command2


  • The output of command1 is sent as input to command2.
  • command1 is executed, and its output is streamed directly to the input of command2.
  • command2 processes the input received from command1.

Example: Let’s say you have a log file called access.log, and you want to filter out the lines containing a specific IP address and then count the occurrences of that IP address. You can use pipes to achieve this:

grep "" access.log | wc -l


  • The grep command filters the lines of access.log that contain the IP address “”.
  • The output of grep is then piped (|) to the wc -l command.
  • wc -l counts the number of lines in the input received from grep.
  • The final result is the count of lines that match the IP address.

Pipes can be used to build complex command pipelines by connecting multiple commands together. Each command in the pipeline processes the input received from the previous command, allowing you to perform various operations on the data, such as filtering, sorting, transforming, and aggregating. Pipes are a powerful feature of Bash that enable efficient and flexible data processing in the command-line environment.

Leave a Comment

Your email address will not be published. Required fields are marked *