sort command is a command line utility for sorting lines of text files. It supports sorting alphabetically, in reverse order, by number, by month and can also remove duplicates. The sort command can also sort by items not at the beginning of the line, ignore case sensitivity and return whether a file is sorted or not.
sort tool will sort lines alphabetically by default. Running
sort filename writes the contents of the
filename in alphabetical order to standard output.
Suppose a file exists with the following list of metal bands that needs to be sorted in alphabetical order. The file is saved as
Motörhead ACDC Sepultura Carcass Opeth
sort command allows us to sort the file alphabetically.
sort bands.txt ACDC Carcass Motörhead Opeth Sepultura
To sort in reverse order pass the
-r option to
sort. This will sort in reverse order and write the result to standard output.
Using the same list of metal bands from the previous example this file can be sorted in reverse order with the
sort -r bands.txt Sepultura Opeth Motörhead Carcass ACDC
To sort by number pass the
-n option to
sort. This will sort from lowest number to highest number and write the result to standard output.
Suppose a file exists with a list of items of clothing that has a number at the start of the line and needs to be sorted numerically. The file is saved as
3. Brown shoes 5. Blue tie 1. White shirt 11. Jeans 4. Underpants
-n option the file is ordered numerically.
sort -n clothes.txt 1. White shirt 3. Brown shoes 4. Underpants 5. Blue tie 11. Jeans
To sort mixed-case text pass the
-f option to
sort. This will ignore case sensitivity when sorting and write the result to standard output.
If a file has uppercase and lowercase content
sort will order uppercase first. Suppose a file exists with a list of names in a file called
Sam sally Sarah steven
By default the
sort tool will sort uppercase characters first.
sort names.txt Sam Sarah sally steven
To sort and ignore case use the
sort -f names.txt sally Sam Sarah steven
To check if a file is already sorted pass the
-c option to
sort. This will write to standard output if there are lines that are out of order.
Suppose a file exists with a list of cars called
Audi Cadillac BMW Dodge
sort tool can be used to understand if this file is sorted and which lines are out of order.
sort -c cars.txt sort: cars.txt:3: disorder: BMW
If there is no output then the file is considered to be already sorted.
To sort and remove duplicates pass the
-u option to
sort. This will write a sorted list to standard output and remove duplicates.
Suppose a file exists with a list of breakfast cereals to sort. This file contains a number of duplicates. This is saved in the file
Cornflakes Sultana Bran Weetabix Sultana Bran Cornflakes Shredded Wheat Cherrios Weetabix
By using the
-u option this file can be sorted and stripped of duplicates.
sort -u breakfast.txt Cherrios Cornflakes Shredded Wheat Sultana Bran Weetabix
To sort by month pass the
-M option to
sort. This will write a sorted list to standard output ordered by month name.
Suppose the following file exists and is saved as
February January March August September
-M option with
sort allows us to order this file.
sort -M months.txt January February March August September
To sort by items not at the beginning of the line pass the
-k option to
sort along with a number of value of the field to sort on. This will write the result to standard output.
Suppose a file exists with a list of orders that is saved as
1023 AcmeCo "Bouncey Castle" 1003 FooCo "Fluffy Toy" 1013 AcmeCo "Edible Hat" 1042 FooCo "Whoopie Cushion"
The file needs to be sorted by the name of the company that placed them. By using the
-k option and passing it a number of the key this can be achieved.
sort -k 2 orders.txt 1023 AcmeCo "Bouncey Castle" 1013 AcmeCo "Edible Hat" 1003 FooCo "Fluffy Toy" 1042 FooCo "Whoopie Cushion"
To sort by a delimiter pass the
-t option to
sort along with the delimiter value. For a CSV file this would be
,. This can be combined with the
-k option to sort on fields within a CSV. The result will be written to standard output.
Suppose a file exists with a list of cheeses that is saved as
2,Maroilles,1.13 3,Stinking Bishop,1.65 1,Brie de Meaux,1.99 4,Munster,1.29
The file may be sorted by the name of the cheese using a combination of the
sort -k 2 -t , cheese.csv 2,Maroilles,1.13 3,Stinking Bishop,1.65 1,Brie de Meaux,1.99 4,Munster,1.29
To sort on the most expensive cheese the numeric and reverse options can be used.
sort -k 3 -t , -n -r cheese.csv 2,Maroilles,1.13 3,Stinking Bishop,1.65 1,Brie de Meaux,1.99 4,Munster,1.29
Linux and Unix fc command tutorial with examples
Tutorial on using fc, a UNIX and Linux command for editing and re-executing commands previously entered into an interactive shell. Examples of editing and re-executing the last command, editing and executing a previous command, setting the text editor to be used, listing previous commands and executing a command without editing it.
Linux and Unix cal command tutorial with examples
Tutorial on using cal, a UNIX and Linux command for displaying a calendar in the console. Examples of displaying a single month, multiple months, showing week numbers, Julian dates and arbitrary dates passed as arguments.
Linux and Unix du command tutorial with examples
Tutorial on using du, a UNIX and Linux command for estimating file space usage. Examples of showing a disk usage summary, outputting a human readable format, showing the size of a directory and showing the ten largest files or folders on a system.