一、sort 命令
sort是Linux命令
用途
排序文件、对已排序的文件进行合并,并检查文件以确定它们是否已排序。
语法
sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Character ] [ -T Directory ] [ -y [ Kilobytes ] ] [ -z RecordSize ] [ [ + [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] [ - [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] ] ... [ -k KeyDefinition ] ... [ File ... ]
描述
sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。-(减号)代替文件名指定标准输入。如果您不指定任何文件名,那么该命令对标准输入排序。可以使用 -o 标志指定输出文件。
如果不指定任何标志,sort 命令基于当前语言环境的整理顺序对输入文件的所有行排序。
排序关键字
排序关键字是输入行的一部分,由字段号和列号指定。字段是输入行的组成部分,由字段分隔符分隔。缺省字段分隔符是由一个或多个连续空格字符组成的序列。使用 -t 标志可指定不同的字段分隔符。在 C 语言和英语语言环境下,制表符和空格字符都是空格符。
使用排序关键字时,sort 命令首先根据第一个排序关键字的内容对所有行排序。然后,根据第二个排序关键字的内容,对所有第一个排序关键字相同的行排序,如此进行下去。按照排序关键字在命令行中出现的顺序给它们编号。如果两行对所有排序关键字的排序都相同,则对全部行依据当前语言环境的整理顺序进行比较。
对字段中的列进行编号时,缺省字段分隔符中的空格符将作为后继字段计数。前导空格不计作第一字段的一部分,-t 标志指定的字段分隔符将不作为字段的一部分计数。可使用 -b 标志忽略前导空格符。
可使用下列两种方法定义排序关键字:
* -k KeyDefinition
* FSkip.CSkip(废弃版本)。
使用 -k 标志定义排序关键字
-k KeyDefinition 标志采用下列形式:
-k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
排序关键字包括所有以 FStart 变量指定的字段和 CStart 变量指定的列开头的及以 FEnd 变量指定的字段和 CEnd 变量指定的列结束的字符。如果不指定 Fend,就假定行的最后一个字符。如果不指定 CEnd,就假定 FEnd 字段的最后一个字符。KeyDefinition 变量中的任何字段号或列号都可以省略。缺省值为:
sort命令