Name
sort - sort lines of text filesSynopsis
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 \(aq(coreutils) sort invocation\(aq