Back to Contents
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 directories

       --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  options  [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/core‐
       utils/>
       Report   any   translation   bugs   to    <https://translationpro‐
       ject.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              April 2020                        SORT(1)