sort - sort lines of text files
sort [
OPTION]... [
FILE]...
sort [
OPTION]...
--files0-from=F
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.
Written by Mike Haertel and Paul Eggert.
GNU coreutils online help: <
https://www.gnu.org/software/coreutils/>
Report any translation bugs to <
https://translationproject.org/team/>
Copyright © 2022 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.
shuf(1),
uniq(1)
Full documentation <
https://www.gnu.org/software/coreutils/sort>
or available locally via: info '(coreutils) sort invocation'