sort

v0.0.28
sort [OPTION]... [FILE]...

Display sorted concatenation of all FILE(s). With no FILE, or when FILE is -, read standard input.

Options

--help

Print help information.

--version

Print version information.

--sort
--human-numeric-sort, -h

compare according to human readable sizes, eg 1M > 100k

--month-sort, -M

compare according to month name abbreviation

--numeric-sort, -n

compare according to string numerical value

--general-numeric-sort, -g

compare according to string general numerical value

--version-sort, -V

Sort by SemVer version number, eg 1.12.2 > 1.1.2

--random-sort, -R

shuffle in random order

--dictionary-order, -d

consider only blanks and alphanumeric characters

--merge, -m

merge already sorted files; do not sort

--check, -c

check for sorted input; do not sort

--check-silent, -C

exit successfully if the given file is already sorted, and exit with status 1 otherwise.

--ignore-case, -f

fold lower case to upper case characters

--ignore-nonprinting, -i

ignore nonprinting characters

--ignore-leading-blanks, -b

ignore leading blanks when finding sort keys in each line

--output=<FILENAME>, -o <FILENAME>

write output to FILENAME instead of stdout

--reverse, -r

reverse the output

--stable, -s

stabilize sort by disabling last-resort comparison

--unique, -u

output only the first of an equal run

--key, -k

sort by a key

--field-separator, -t

custom separator for -k

--zero-terminated, -z

line delimiter is NUL, not newline

--parallel=<NUM_THREADS>

change the number of threads running concurrently to NUM_THREADS

--buffer-size=<SIZE>, -S <SIZE>

sets the maximum SIZE of each segment in number of sorted items

--temporary-directory=<DIR>, -T <DIR>

use DIR for temporaries, not $TMPDIR or /tmp

--compress-program=<PROG>

compress temporary files with PROG, decompress with PROG -d; PROG has to take input from stdin and output to stdout

--batch-size=<N_MERGE>

Merge at most N_MERGE inputs at once.

--files0-from=<NUL_FILES>

read input from the files specified by NUL-terminated NUL_FILES

--debug

underline the parts of the line that are actually used for sorting

The key format is FIELD[.CHAR][OPTIONS][,FIELD[.CHAR]][OPTIONS].

Fields by default are separated by the first whitespace after a non-whitespace character. Use -t to specify a custom separator. In the default case, whitespace is appended at the beginning of each field. Custom separators however are not included in fields.

FIELD and CHAR both start at 1 (i.e. they are 1-indexed). If there is no end specified after a comma, the end will be the end of the line. If CHAR is set 0, it means the end of the field. CHAR defaults to 1 for the start position and to 0 for the end position.

Valid options are: MbdfhnRrV. They override the global options for this key.

Examples

Sort a file in ascending order:

sort {{path/to/file}}

Sort a file in descending order:

sort --reverse {{path/to/file}}

Sort a file in case-insensitive way:

sort --ignore-case {{path/to/file}}

Sort a file using numeric rather than alphabetic order:

sort --numeric-sort {{path/to/file}}

Sort /etc/passwd by the 3rd field of each line numerically, using ":" as a field separator:

sort --field-separator={{:}} --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 {{:}} -k {{3,3n}} -k {{4,4g}} {{/etc/passwd}}

Sort a file preserving only unique lines:

sort --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 --output={{path/to/file}} {{path/to/file}}

The examples are provided by the tldr-pages project under the CC BY 4.0 License.

Please note that, as uutils is a work in progress, some examples might fail.