Last Updated : 06 Jun, 2025
The sort command in Linux is used to sort a file, arranging the records in a particular order. By default, the sort command sorts file assuming the contents are ASCII. Using options in the sort command can also be used to sort numerically.
sort
is a command that sorts text files alphabetically, numerically, by month, in reverse, and removes duplicatessort [OPTION]... [FILE]...
'options' refer to the various flags and parameters that can be used to customize the sorting behavior, and 'file' is the name of the file to be sorted.
Example:Let's start with a simple example. Consider a file named 'file.txt' with the following content
cat file.txtDisplaying content of file using cat command
Here we used cat command to display the content inside the file name 'file.txt'.
To sort the lines alphabetically, you can use the following command:
sort file.txtsort lines in text using sort command
Note: This command does not actually change the input file, i.e. file.txt . We can verify this using cat command .
no change is done to real fileFeatures of sort command
These options help control how the sort
command arranges data based on different formats like text, numbers, dates, and duplicates.
Options
Description
-o
Specifies an output file for the sorted data. Functionally equivalent to redirecting output to a file.
-r
Sorts data in reverse order (descending).
-n
Sorts a file numerically (interprets data as numbers).
-nr
Sorts a file with numeric data in reverse order. Combines -n and -r options.
-k
Sorts a table based on a specific column number.
-c
Checks if the file is already sorted and reports any disorder.
-u
Sorts and removes duplicate lines, providing a unique sorted list.
-M
Sorts by month names.
How to Sort Lines in Text Files with Uppercase and Lowercase Using sort CommandSort function with mix file i.e. uppercase and lower case: When we have a mix file with both uppercase and lowercase letters then first the upper case letters would be sorted following with the lower case letters.
Example: If we have a text file which has both Uppercase andlowercase characters.
cat mix.txtDisplaying content of file using cat command
Here we used cat command to display the content inside the file name 'mix.txt'.
To sort the lines alphabetically which contain uppercase and lowercase letters, you can use the following command:
sort mix.txtsort uppercase and lowercase lines in text using sort command How to do Numeric Sorting in Lines in Text Files Using sort Command
By default, 'sort' treats numbers as text and sorts them accordingly. If you want to perform numeric sorting, use the '-n' option:
cat file1.txtDisplaying content of file using cat command
Here we used cat command to display the content inside the file name 'file1.txt'.
Now we will sort the numeric data using sort command as follows.
sort file1.txtsorting numerical data in linux file How to Sort Lines in Reverse Order in Linux File Using sort Command
To sort in reverse order, you can use the '-r' option:
Example: If we want to sort lines in reverse order in Linux file we can use sort command with -r option, suppose we have a file name "example.txt" as shown below.
cat example.txtusing cat command to display content inside file
Now sorting lines in reverse order using `-r` option in sort command
sort -r example.txtsorting lines in reverse order using -r with sort command How to sort Specific Fileds in Linux Files Using sort Command
Imagine you have a file named 'employee_data.txt' that contains information about employees in a tab-separated format. Each line represents a record with details such as employee ID, name, department, and salary, separated by tabs. You want to organize this data based on the department and display the results in alphabetical order.
For Example: If our file name is "employee_data.txt" and content inside it is as follows.
cat employee_data.txtDisplaying content of file using cat command
To achieve this, you can use the 'sort' command
sort -k3 employee_data.txt
Explanation:
-k3: This option indicates that the sorting should be done based on the third column (Department).
sorting a particular column using sort commandIn this example, the employee records are now sorted alphabetically based on the 'Department' column. The 'sort' command, with the custom delimiter, allows you to efficiently organize and analyze tab-separated data, making it a valuable tool for managing structured information in various scenarios.
Application and uses of sort commandThe sort
command helps organize data easily without changing the original file, making it safe for repeated use.
In this article we discussed the 'sort' command in Linux which is a powerful utility for arranging text files in various orders. It supports alphabetical, numerical, and reverse sorting, along with options for sorting specific columns and removing duplicates. The command is versatile, handling different file types, including tables and numeric data. The article provides a comprehensive overview of the 'sort' command, covering syntax, options, and practical examples. Frequently asked questions (FAQs) address common queries, making it a valuable resource for efficient data organization and analysis on the Linux command line.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4