Skip to main content

Command Palette

Search for a command to run...

Cheatsheet & Examples: sort

Updated
3 min read
H

I am a developer from Malaysia. I work with PHP most of the time, recently I fell in love with Go. When I am not working, I will be ballroom dancing :-)

The sort command is used to sort lines of text files in alphabetical, numerical, or other specified orders. It can also handle unique entries, reverse sorting, and field-based sorting.

Sorting a file alphabetically

Example Usage:
sort filename.txt

What it does:
Sorts the contents of the file in ascending alphabetical order.

Command-line Arguments Explained:

  • filename.txt: The text file to be sorted.

Sorting numerically

Example Usage:
sort -n filename.txt

What it does:
Sorts the file based on numeric values rather than lexicographical order.

Command-line Arguments Explained:

  • -n: Enables numeric sorting.

Sorting in reverse order

Example Usage:
sort -r filename.txt

What it does:
Sorts the file in descending order (reverse of default behavior).

Command-line Arguments Explained:

  • -r: Reverses the sort order.

Removing duplicate lines

Example Usage:
sort -u filename.txt

What it does:
Sorts the file and removes duplicate lines, keeping only unique entries.

Command-line Arguments Explained:

  • -u: Removes duplicate lines after sorting.

Sorting by specific fields

Example Usage:
sort -k 2,2 filename.txt

What it does:
Sorts the file based on the second field (column), using whitespace as the default delimiter.

Command-line Arguments Explained:

  • -k 2,2: Specifies the sort key starting and ending at the second field.

Specifying a custom delimiter

Example Usage:
sort -t ',' -k 2,2 filename.csv

What it does:
Sorts a CSV file by the second field, using a comma as the delimiter.

Command-line Arguments Explained:

  • -t ',': Sets the delimiter to a comma.
  • -k 2,2: Sorts by the second field.

Merging multiple sorted files

Example Usage:
sort -m file1.txt file2.txt

What it does:
Merges multiple already-sorted files into a single sorted output.

Command-line Arguments Explained:

  • -m: Merges sorted input files without re-sorting.

Checking if a file is already sorted

Example Usage:
sort -c filename.txt

What it does:
Verifies if the file is already sorted; if not, it reports an error.

Command-line Arguments Explained:

  • -c: Checks the input for sorted order.

Performing a stable sort

Example Usage:
sort -s filename.txt

What it does:
Sorts the file without changing the order of equal lines.

Command-line Arguments Explained:

  • -s: Ensures a stable sort (maintains original order for equal elements).

Ignoring case during sorting

Example Usage:
sort -f filename.txt

What it does:
Sorts lines case-insensitively (e.g., treating "Apple" and "apple" as equal).

Command-line Arguments Explained:

  • -f: Ignores case distinctions during sorting.

Skipping leading whitespace or characters

Example Usage:
sort -b filename.txt

What it does:
Ignores leading whitespace or characters before sorting.

Command-line Arguments Explained:

  • -b: Skips leading whitespace or characters in each line.

Redirecting output to a file

Example Usage:
sort input.txt > output.txt

What it does:
Sorts the input file and writes the sorted output to a specified file.

Command-line Arguments Explained:

  • input.txt: The file to sort.
  • > output.txt: Redirects the output to output.txt instead of the terminal.

More from this blog

Hong's Tech Blog

110 posts

The blog is older than you know. I prefer counting from the emergence of one integral anomaly to the emergence of the next, in which case this is the forth version.