Pipelining is a very powerful feature that allows you to send the output of one command as the input to another.
The notation used is a vertical bar
$ ls /usr/bin | less
The output of the
ls /usr/bin command will be passed in as an argument to the command on the right. Thus, we will be able to view the contents in our bin file through the
less file reader.
We can have multiple pipes, which makes pipelineing not only useful, but fun!
To sort the outputs alphabetically, use the
$ ls .. | sort
To grab just the unique names of within a file, we can use
$ cat employeeNames.txt | sort | uniq
To find text patterns, we can use
grep, followed by a string.
Grep actually stands for "global expression pattern." If you know regex, you can use regex syntax to capture a specific string pattern.
$ ls .. | grep .html
This would return all outputs that have the .html extention in them.
To check the number of lines, words and bytes in a file, we can use the
$ less fileName.txt | wc
5 7 61
This means we have 5 lines, 7 words and 61 bytes.
We can use the
tee command to output to standard out as well as a file. In this way, we can save the results of our pipeline.
$ ls /usr/bin | tee test.txt | grep zip
This command lists all files in /usr/bin, sending it off to the next pipe, then writes it to test.txt.
Remember to check each command's man page to learn more options!
$ man sort
Relieve your stress, back, neck and sciatic pain through 1,782 acupuncture points for immediate neck pain relief. Made for lower, upper and mid chronic back pain treatment, and improves circulation, sleep, digestion and quality of life.$$ Check price
This book approaches system administration in a practical way and is an invaluable reference for both new administrators and experienced professionals. It details best practices for every facet of system administration, including storage management, network design and administration, email, web hosting, scripting, and much more.$ Check price