asort(1) General Commands Manual asort(1)
NAME
asort - Sorts or merges files and supports multiple collating weight sequences
SYNOPSIS
asort [-m] [-o output_file] [-Abdfinruv] [-Ccollate_sequence] [-k keydef]... [-t character] [-T directory] [-y] [kilobytes] [-z
record_size]... file...
asort -c [-u] [-Abdfinruv] [-Ccollate_sequence] [-k keydef]... [-t character] [-T directory] [-y] [kilobytes] [-z record_size]... file...
The following syntax is maintained for backward compatibility but may be withdrawn in a future release: asort [-Abcdfimnruv] [-Ccol-
late_sequence] [-o output_file] [-t character] [-T directory] [-y] [kilobytes] [-z record_size] [+fskip] [.cskip] [-fskip] [.cskip]
[-bdfinr]... file...
OPTIONS
The asort command includes the same options as the sort command (see sort(1)) in addition to the following options: Specifies the collating
weight sequence to be used in sorting the data files. When this option is specified, the asort command does not use the collating table
from the locale database. Instead, the command uses a set of special system and user collating tables to determine the collating weights
of characters, including user-defined characters (UDCs).
The collate_sequence argument can be in long form (for example, "Pinyin Radical Stroke") or short form (for example, prs). The code-
set of the locale determines which collation weight names can be specified for collate_sequence. The following list specifies the
long and short collation weight names that are valid for supported codesets.
For DEC Hanzi:
Pinyon (or p) Radical (or r) Stroke (or s) For DEC Hanyu, Taiwanese EUC, and BIG-5:
Phonetic (or p) Radical (or r) Stroke (or s) Uses a breadth-first sorting mechanism instead of the default depth-first mechanism to
sort the input data. To have any effect, the -v option must be used together with the -C option.
DESCRIPTION
The asort command sorts lines in its input files and writes the result to standard output. The asort command is similar to the sort com-
mand. See the sort(1) reference page for information about features the two commands have in common.
The asort command provides additional features for processing multiple collating weight sequences used with Asian languages, such as Chi-
nese. For example, pinyon (p), stroke (s), and radical (r) are three dimensions along which characters can be ordered in Simplified Chi-
nese. The -C option allows users to specify the priority level that these dimensions have during sorting. For example, -C srp specifies
that characters should be sorted first by stroke, then by radical, then by pinyon. The specified sequence is applied to user-defined char-
acters (UDCs) as well as to standard characters.
When the -C option is specified, the default behavior of the asort command is to use a depth-first sorting mechanism to sort the input
files. With the depth-first mechanism, pairs of multibyte characters in a sort field are compared by exhausting all the specified collat-
ing weights and/or internal codes one at a time until the collating order is resolved. Only when two characters are identical is the next
pair of characters compared. The depth-first sorting mechanism is also called character sorting.
However, the asort command provides the -v option to use the Asian VMS-like breadth-first sorting mechanism. With the breadth-first mecha-
nism, pairs of multibyte characters in a sort field are compared using the first collating weight for all the characters in the sort field
first. Only when two sets of data in a sort field are computed to have the same collating order are succeeding collating weights used for
resolving the collating order. The breadth-first sorting mechanism is sometimes called string sorting.
NOTES
Currently, the asort command is supported for use only with Chinese codesets.
EXIT STATUS
The asort command returns the following exit values: All input files were output successfully, or -c was specified and the input file was
correctly sorted. If -c was specified, the file was not ordered as specified, or if the -c and -u options were both specified, two input
lines were found with equal keys. An error occurred.
EXAMPLES
Unless stated otherwise, the following examples assume the locale setting is zh_TW.dechanyu: To perform character sorting first by stroke
and then by radical, enter: asort -C"Stroke Radical" names
This command displays the lines in names sorted in ascending order according to the number of strokes in characters. If the number
of strokes happen to be the same for two characters, the radicals of the characters determine how the characters are ordered.An
alternative short form of the same command is as follows: asort -Csr names To perform string sorting first by stroke and then by
radical in a way similar to the sort command available on an Asian VMS system, enter: asort -v -C"Stroke Radical" names
SEE ALSO
Commands: sort(1)
Functions: setlocale(3)
Files: locale(4)
Others: Chinese(5), i18n_intro(5)
asort(1)