TASK
Understanding of Pipe and Sort Commands
What is a Pipe in Linux?
The Pipe is a command in Linux that lets you use two or more commands such that
output of one command serves as input to the next. In short, the output of each process
directly as input to the next one like a pipeline. The symbol '|' denotes a pipe.
Pipes help you mash-up two or more commands at the same time and run them
consecutively. You can use powerful commands which can perform complex tasks in a
jiffy.
Let us understand this with an example.
When you use 'cat' command to view a file which spans multiple pages, the prompt
quickly jumps to the last page of the file, and you do not see the content in the middle.
To avoid this, you can pipe the output of the 'cat' command to 'less' which will show you
only one scroll length of content at a time.
cat filename | less
An illustration would make it clear.
'pg' and 'more' commands
Instead of 'less', you can also use.
cat Filename | pg
or
cat Filename | more
And, you can view the file in digestible bits and scroll down by simply hitting the enter
key.
The 'grep' command
Suppose you want to search a particular information the postal code from a text file.
You may manually skim the content yourself to trace the information. A better option is
to use the grep command. It will scan the document for the desired information and
present the result in a format you want.
Syntax:
grep search_string
Let's see it in action -
Here, grep command has searched the file 'sample', for the string 'Apple' and 'Eat'.
Following options can be used with this command.
Option Function
-v Shows all the lines that do not match the searched string
-c Displays only the count of matching lines
-n Shows the matching line and its number
-i Match both (upper and lower) case
-l Shows just the name of the file with the string
Let us try the first option '-i' on the same file use above -
Using the 'i' option grep has filtered the string 'a' (case-insensitive) from the all the
lines.
The 'sort' command
This command helps in sorting out the contents of a file alphabetically.
The syntax for this command is:
sort Filename
Consider the contents of a file.
Using the sort command
There are extensions to this command as well, and they are listed below.
Option Function
-r Reverses sorting
-n Sorts numerically
-f Case insensitive sorting
The example below shows reverse sorting of the contents in file 'abc'.