phpman > man > SORT(1)

Markdown | JSON | MCP    

TLDR: SORT (tldr-pages)

Sort lines of text files.

  • Sort a file in ascending order
    sort {{path/to/file}}
  • Sort a file in descending order
    sort {{-r|--reverse}} {{path/to/file}}
  • Sort a file in case-insensitive way
    sort {{-f|--ignore-case}} {{path/to/file}}
  • Sort a file using numeric rather than alphabetic order
    sort {{-n|--numeric-sort}} {{path/to/file}}
  • Sort `/etc/passwd` by the 3rd field onward of each line numerically, using `:` as a field separator
    sort {{-t|--field-separator}} : {{-k|--key}} 3n /etc/passwd
  • As above, but when items in the 3rd field are equal, sort by the 4th field by numbers with exponents
    sort {{-t|--field-separator}} : {{-k|--key}} 3,3n {{-k|--key}} 4,4g /etc/passwd
  • Sort a file preserving only unique lines
    sort {{-u|--unique}} {{path/to/file}}
  • Sort a file, printing the output to the specified output file (can be used to sort a file in-place)
    sort {{-o|--output}} {{path/to/output_file}} {{path/to/input_file}}
SORT(1)                                     User Commands                                    SORT(1)



NAME
       sort - sort lines of text files

SYNOPSIS
       sort [OPTION]... [FILE]...
       sort [OPTION]... --files0-from=F

DESCRIPTION
       Write sorted concatenation of all FILE(s) to standard output.

       With no FILE, or when FILE is -, read standard input.

       Mandatory arguments to long options are mandatory for short options too.  Ordering options:

       -b, --ignore-leading-blanks
              ignore leading blanks

       -d, --dictionary-order
              consider only blanks and alphanumeric characters

       -f, --ignore-case
              fold lower case to upper case characters

       -g, --general-numeric-sort
              compare according to general numerical value

       -i, --ignore-nonprinting
              consider only printable characters

       -M, --month-sort
              compare (unknown) < 'JAN' < ... < 'DEC'

       -h, --human-numeric-sort
              compare human readable numbers (e.g., 2K 1G)

       -n, --numeric-sort
              compare according to string numerical value

       -R, --random-sort
              shuffle, but group identical keys.  See shuf(1)

       --random-source=FILE
              get random bytes from FILE

       -r, --reverse
              reverse the result of comparisons

       --sort=WORD
              sort  according  to  WORD: general-numeric -g, human-numeric -h, month -M, numeric -n,
              random -R, version -V

       -V, --version-sort
              natural sort of (version) numbers within text

       Other options:

       --batch-size=NMERGE
              merge at most NMERGE inputs at once; for more use temp files

       -c, --check, --check=diagnose-first
              check for sorted input; do not sort

       -C, --check=quiet, --check=silent
              like -c, but do not report first bad line

       --compress-program=PROG
              compress temporaries with PROG; decompress them with PROG -d

       --debug
              annotate the part of the line used to sort,  and  warn  about  questionable  usage  to
              stderr

       --files0-from=F
              read  input from the files specified by NUL-terminated names in file F; If F is - then
              read names from standard input

       -k, --key=KEYDEF
              sort via a key; KEYDEF gives location and type

       -m, --merge
              merge already sorted files; do not sort

       -o, --output=FILE
              write result to FILE instead of standard output

       -s, --stable
              stabilize sort by disabling last-resort comparison

       -S, --buffer-size=SIZE
              use SIZE for main memory buffer

       -t, --field-separator=SEP
              use SEP instead of non-blank to blank transition

       -T, --temporary-directory=DIR
              use DIR for temporaries, not $TMPDIR or /tmp; multiple options specify multiple direc‐
              tories

       --parallel=N
              change the number of sorts run concurrently to N

       -u, --unique
              with -c, check for strict ordering; without -c, output only the first of an equal run

       -z, --zero-terminated
              line delimiter is NUL, not newline

       --help display this help and exit

       --version
              output version information and exit

       KEYDEF  is  F[.C][OPTS][,F[.C][OPTS]]  for start and stop position, where F is a field number
       and C a character position in the field; both are origin 1, and the stop position defaults to
       the  line's  end.   If neither -t nor -b is in effect, characters in a field are counted from
       the beginning of the preceding whitespace.  OPTS is one or more  single-letter  ordering  op‐
       tions  [bdfgiMhnRrV],  which  override  global  ordering  options for that key.  If no key is
       given, use the entire line as the key.  Use --debug to diagnose incorrect key usage.

       SIZE may be followed by the following multiplicative suffixes: % 1% of memory, b  1,  K  1024
       (default), and so on for M, G, T, P, E, Z, Y.

       ***  WARNING *** The locale specified by the environment affects sort order.  Set LC_ALL=C to
       get the traditional sort order that uses native byte values.

AUTHOR
       Written by Mike Haertel and Paul Eggert.

REPORTING BUGS
       GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
       Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
       Copyright © 2020 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3  or  later
       <https://gnu.org/licenses/gpl.html>.
       This  is free software: you are free to change and redistribute it.  There is NO WARRANTY, to
       the extent permitted by law.

SEE ALSO
       shuf(1), uniq(1)

       Full documentation <https://www.gnu.org/software/coreutils/sort>
       or available locally via: info '(coreutils) sort invocation'



GNU coreutils 8.32                          January 2026                                     SORT(1)
SORT(1)
NAME SYNOPSIS DESCRIPTION
-b, --ignore-leading-blanks -d, --dictionary-order -f, --ignore-case -g, --general-numeric-sort -i, --ignore-nonprinting -M, --month-sort -h, --human-numeric-sort -n, --numeric-sort -R, --random-sort -r, --reverse -V, --version-sort -c, --check, --check=diagnose-first -C, --check=quiet, --check=silent --debug -k, --key=KEYDEF -m, --merge -o, --output=FILE -s, --stable -S, --buffer-size=SIZE -t, --field-separator=SEP -T, --temporary-directory=DIR -u, --unique -z, --zero-terminated --version
AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 12:55 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top