SORT
Section: User Commands (1)
Updated: March 2021
Page Index
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/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'