Shell的sort命令
例如,假如 fruits 文档包含文本:bananaorangePersimmonapple%%bananaappleORANGE LANG=En_US sort fruits显示:%%bananaORANGEPersimmonappleapplebananaorange sort-d fruits此命令序列排序和显示 fruits 文档的内容,并且只比较字母、数字和空格。假如 fruits 文档和示例 1 相同,那么 sort 命令显示: ORANGEPersimmonappleapple%%bananabananaorange-d 标志忽略 %(百分号)字符,因为他不是个字母、数字或空格。(即 %%banana 被 banana 取代)。 sort -d -f fruits-d 标志忽略特别字符,-f 标志忽略大小写差异。将 LC_ALL、LC_COLLATE 或 LANG 环境变量配置为 C 的情况下,fruits 文档的输出结果变为: appleapple%%bananabananaORANGEorangePersimmon sort-d-f-u fruits-u 标志告诉 sort 命令除去重复的行,使文档中的每一行唯一。此命令序列显示: apple%%bananaORANGEPersimmon不但除去重复的 apple,而且也除去了 banana 和 ORANGE。除去这些是因为 -d 标志忽略 %% 这个特别字符,-f 标志忽略大小写差异。 分隔符-t:+1 sort忽略第一字段,从第二字段开始比较例如vegetables 包含: yams:104turnips:8potatoes:15carrots:104green beans:32radishes:5lettuce:15 sort-t: +1 vegetablescarrots:104yams:104lettuce:15potatoes:15green beans:32radishes:5turnips:8 sort-t: +1-n vegetables此命令序列按照第二个字段对 vegetables 文档进行数字排序。假如 vegetables 文档和示例 6 中的相同,那么sort 命令将显示: radishes:5turnips:8lettuce:15potatoes:15green beans:32carrots:104yams:104 sort-t: +1 -2-n +0 -1-r vegetables或 sort-t:-k2,2 n -k1,1 r vegetables此命令序列对第二字段(+1 -2 -n)进行数字排序。在这个顺序中,他以逆字母顺序(+0 -1 -r)对第一字段排序。将 LC_ALL、LC_COLLATE 或 LANG 环境变量配置为 C 的情况下,输出将类似于: radishes:5turnips:8potatoes:15lettuce:15green beans:32yams:104carrots:104此命令按数字顺序对行排序。当两行数字相同时,他们以逆字母顺序出现。要使用排序的文本替换原始文档,请输入:sort-o vegetables vegetables 对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。 $ sort -r -o outfile +1.0 -1.1 examplesort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给sort进行排序,排序关键字是第6个至第8个字段。 $ ls - l | sort +5 - 7
页:
[1]