bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/Bash/Text Processing
Bash•Text Processing

Bash sort Command - Sort Lines of Text Files

Using the sort Command

The sort command is used to sort lines of text files.

It's a handy tool for organizing data in files.

Basic Usage

To sort a file, use sort filename :

Example

sort fruits.txt
apples,1
bananas,2
bananas,4
kiwis,3
kiwis,3
oranges,20

Options

The sort command has options to change how it works:

  • -r - Sort in reverse order
  • -n - Sort numbers correctly
  • -k - Sort by a specific column
  • -u - Remove duplicate lines
  • -t - Specify a delimiter for fields

Sort in Reverse Order

The -r option allows you to sort in reverse order.

Without this option, sort arranges lines in ascending order.

Example: Sort in Reverse Order

sort -r fruits.txt
oranges,20
kiwis,3
kiwis,3
bananas,4
bananas,2
apples,1

Specify a Delimiter for Fields

The -t option specifies a delimiter for fields, which is useful for sorting files with a specific field separator.

Without this option, sort assumes whitespace as the default delimiter.

Example: Specify a Delimiter for Fields

sort -t "," -k2,2 fruits.txt
apples,1
bananas,2
oranges,20
kiwis,3
kiwis,3
bananas,4

This example also uses -k to sort by the second column.

Sort by a Specific Column

The -k option allows you to sort by a specific column.

Without this option, sort uses the entire line as the key.

Example: Sort by a Specific Column

sort -t "," -k2,2 fruits.txt
apples,1
bananas,2
oranges,20
kiwis,3
kiwis,3
bananas,4

Sort Numbers Correctly

The -n option allows you to sort numbers correctly.

Without this option, numbers are sorted lexicographically, meaning "10" would come before "2".

Example: Sort Numbers Correctly

sort -t "," -n -k2,2 fruits.txt
apples,1
bananas,2
kiwis,3
kiwis,3
bananas,4
oranges,20

Remove Duplicate Lines

The -u option removes duplicate lines from the output. Without this option, duplicate lines are retained.

Example: Remove Duplicate Lines

sort -u fruits.txt
apples,1
bananas,2
bananas,4
kiwis,3
oranges,20

Complex Sorting

Sort can perform complex sorting tasks. For example, sort -t "," -k1,1 -k2,2r fruits.txt sorts by the first column, and then by the second column in reverse order.

Example: Complex Sorting

sort -t "," -k1,1 -k2,2r fruits.txt
apples,1
bananas,4
bananas,2
kiwis,3
kiwis,3
oranges,20

Previous

Bash cut Command - Remove Sections from Lines

Next

Bash tail Command - Display Last Part of Files

This chapter

Overview
7

Lessons

18m

Read time

1. Bash grep Command - Search Text Using Patterns2. Bash awk - Pattern Scanning and Processing Language3. Bash sed Command - Stream Editor4. Bash cut Command - Remove Sections from Lines5. Bash sort Command - Sort Lines of Text Files6. Bash tail Command - Display Last Part of Files7. Bash head Command - Display the beginning of a file

On this page

Using the sort CommandBasic UsageOptionsSort in Reverse OrderExample: Sort in Reverse OrderSpecify a Delimiter for FieldsExample: Specify a Delimiter for FieldsSort by a Specific ColumnExample: Sort by a Specific ColumnSort Numbers CorrectlyExample: Sort Numbers CorrectlyRemove Duplicate LinesExample: Remove Duplicate LinesComplex SortingExample: Complex Sorting