Pipelines, often called pipes, is a way to chain commands and connect output from one command to the input of the next.
A pipeline is represented by the pipe character:
|. It's particularly handy when a complex or long input is required for a command.
command1 | command2
By default pipelines redirects only the standard output, if you want to include the standard error you need to use the form
|& which is a short hand for
Imagine you quickly want to know the number of entries in a directory, you can use a pipe to redirect the output of the
ls command to the
wc command with option
ls / | wc -l
Then you want to see only the first 10 results
ls / | head
Note: head outputs the first 10 lines by default, use option -n to change this behavior
Grep searches for patterns in each file. Patterns is one or more patterns separated by newline characters, and grep prints each line that matches a pattern. Typically patterns should be quoted when grep is used in a shell command.
ls / | grep # This will grab any line/file that has a matching pattern in it
In this exercise, you will need to print the number of processors based on the information in the cpuinfo file (/proc/cpuinfo)
Hint 1: each processor has a unique number, for instance the first processor will contain the line
Hint 2: you can chain together more than two commands in a row