语法格式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 ] [文件 ]

使用说明sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,

那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。-(减号)代替文件名指定标准输入。

如果您不指定任何文件名,那么该命令对标准输入排序。可以使用 -o 标志指定输出文件。

如果不指定任何标志,sort 命令基于当前语言环境的整理顺序对输入文件的所有行排序。

主要参数-A 使用 ASCII 整理顺序代替当前语言环境的整理顺序在逐字节的基础上排序。

-b 忽略前导空格和制表符,找出字段的第一或最后列。

-c 检查输入是否已按照标志中指定的排序规则进行排序。如果输入文件排序不正确,就返回一个非零值。

-d 使用字典顺序排序。比较中仅考虑字母、数字和空格。

-f 比较前将所有小写字母改成大写字母。

-i 比较中忽略所有非显示字符。

-k KeyDefinition 指定排序关键字。KeyDefinition 选项的格式为:

[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]

排序关键字包括所有以 FStart 变量指定的字段和 CStart 变量指定的列开头的字符及以 FEnd 变量指定的字段和

CEnd 变量指定的列结束的字符。Modifier 变量的值可以是 b、d、f、i、n 或 r。修饰符与同一字母的标志等价。

-m 只合并多个输入文件;假设输入文件已经排序。

-n 按算术值对数字字段排序。数字字段可包含前导空格、可选减号、十进制数字、千分位分隔符和可选基数符。

对包含任何非数字字符的字段进行数字排序会出现无法预知的结果。

-o OutFile 将输出指向 OutFile 参数指定的文件,而不是标准输出。OutFile 参数值可以与 File 参数值相同。

-r 颠倒指定排序的顺序。

-t Character 指定 Character 为单一的字段分隔符。

-u 禁止按照排序关键字和选项的所有等同排序(每一组行中一行除外)。

-T Directory 将创建的所有临时文件放入 Directory 参数指定的目录中。

-y[Kilobytes] 用 Kilobytes 参数指定的主存储的千字节数启动 sort 命令,并根据需要增加存储量。

(如果 Kilobytes 参数指定的值小于最小存储站点或大于最大存储站点,就以这个最小存储站点或最大存储站点取代)。

如果省略 -y 标志,sort 命令以缺省的存储大小启动。

-y0 标志用最小存储启动,而 -y 标志(不带 Kilobytes 值)用最大存储启动。sort 命令使用的存储量显著地影响性能。

以大存储量对小文件排序将很浪费。

-z RecordSize 如果正在排序的任一行大于缺省的缓冲区大小,要防止出现异常终止。

指定 -c 或 -m 标志时,省略排序阶段,使用系统的缺省缓冲大小。如果已排序行超出这一大小,排序异常终止。

-z 选项指定排序阶段最长行的记录,因而可在合并阶段分配足够的缓冲区。

RecordSize 必须指明等于或大于要合并的最长行的字节值。

应用实例

要在 LC_ALL、LC_COLLATE 或 LANG 环境变量设置为 En_US 的情况下排序 fruits 文件,请输入:LANG=En_US sort fruits

此命令序列显示以升序词典顺序排序的 fruits 文件的内容。每一列的字符,包括空格、数字和特殊字符都经一一比较。

例如,如果 fruits 文件包含文本:

banana

orange

Persimmon

apple

%%banana

apple

ORANGE

sort 命令显示:

%%banana

ORANGE

Persimmon

apple

apple

banana

orange

在 ASCII 整理序列中,%(百分号)在大写字母前,大写字母在小写字母前。

如果您当前的语言环境指定 ASCII 之外的字符集,结果可能不同。

要以字典顺序排序,请输入:sort -d fruits

此命令序列排序和显示 fruits 文件的内容,并且只比较字母、数字和空格。

如果 fruits 文件与示例 1 相同,那么 sort 命令显示:

ORANGE

Persimmon

apple

apple

%%banana

banana

orange

-d 标志忽略 %(百分号)字符,因为它不是个字母、数字或空格。(即 %%banana 被 banana 取代)。

要将包含大写字母和具有类似小写行的特殊字符行分组,请输入:sort -d -f fruits-d 标志忽略特殊字符,-f 标志忽略大小写差异。

将 LC_ALL、LC_COLLATE 或 LANG 环境变量设置为 C 的情况下,fruits 文件的输出结果变为:

apple

apple

%%banana

banana

ORANGE

orange

Persimmon

要除去重复行排序,请输入:sort -d -f -u fruits-u 标志告诉 sort 命令除去重复的行,使文件中的每一行唯一。此命令序列显示:

apple

%%banana

ORANGE

Persimmon

不仅除去重复的 apple,而且也除去了 banana 和 ORANGE。

除去这些是因为 -d 标志忽略 %% 这个特殊字符,-f 标志忽略大小写差异。

要如上面那样排序,除去重复的实例(除非是大写字母或标点不同),请输入:sort -u +0 -d -f +0 fruits

输入 +0 -d -f 完成的排序与示例 3 中 -d -f 的排序类型相同,+0 进行另一项比较以区分不一样的行。

这防止 -u 标志将它们除去。

示例 1 所示的 fruits 文件中,添加的 +0 将 %%banana 与 banana 及 ORANGE 与 orange 区分开来。

然而,apple 的两个实例是相同的,所以其中之一被删除。

apple

%%banana

banana

ORANGE

orange

Persimmon

要指定分隔字段的字符,请输入:sort -t: +1 vegetables此命令序列排序 vegetables 文件,对每一行上第一个冒号后的文本进行比较。

+1 告诉 sort 命令忽略第一字段,从第二字段的开始到该行的结束进行比较。-t: 标志告诉 sort 命令冒号分隔字段。

如果 vegetables 包含:yams:104

turnips:8

potatoes:15

carrots:104

green beans:32

radishes:5

lettuce:15

那么,将 LC_ALL、LC_COLLATE 或 LANG 环境变量设置为 C 的情况下,sort 命令将显示:

carrots:104

yams:104

lettuce:15

potatoes:15

green beans:32

radishes:5

turnips:8

注意数字没有按照数字排序。当用字典式分类从左至右比较每一个字符时出现这种情况。

换句话说,3 在 5 之前,所以 32 在 5 之前。

要排序数字,请输入:sort -t: +1 -n vegetables此命令序列按照第二个字段对 vegetables 文件进行数字排序。

如果 vegetables 文件与示例 6 中的相同,那么 sort 命令将显示:

radishes:5

turnips:8

lettuce:15

potatoes:15

green beans:32

carrots:104

yams: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:5

turnips:8

potatoes:15

lettuce:15

green beans:32

yams:104

carrots:104

此命令按数字顺序对行排序。当两行数字相同时,它们以逆字母顺序出现。

要使用排序的文本替换原始文件,请输入:sort -o vegetables vegetables

此命令序列将排序输出存入 vegetables 文件( -o vegetables)。

linux 输入8个字母进行排序,Linux排序命令sort详解相关推荐

  1. Linux 程序异常诊断工具(pstack与strace命令使用详解、死锁)

    strace跟踪程序使用的底层系统调用,可输出系统调用被执行的时间点以及各个调用耗时:pstack工具对指定PID的进程输出函数调用栈. 一.strace 1.1 基本概念 strace是一个可用于诊 ...

  2. Linux排序命令sort详解

    语法格式sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Ch ...

  3. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  4. Linux系统命令sort详解

    sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际上,sort命令可以被认为是一个非常强大的数据管理工具,用 ...

  5. linux ps命令使用详解

    PS是LINUX下最常用的也是非常强大的进程查看命令 1. ps简介 前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题. 要对进程进行监测和控制,首先必须要了 ...

  6. Linux中top命令参数详解、常用快捷键

    1.命令 1.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.  显示系统当前的进程和其他状况: top是一个动态显示过程 ...

  7. linux下top命令参数详解

    linux下top命令参数详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: ...

  8. Linux top命令使用详解

    Linux top命令使用详解 已使用linux系统很长时间,查看整体性能时,经常使用top命令,现将日常运维过程中top命令常见用法汇总整理,以便学习和参考. 本文汇总整理网络资料和自我总结.只用于 ...

  9. linux中which命令详解,Linux下which命令使用详解(转)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...

最新文章

  1. flink启动命令参数_Flink调优之前,必须先看懂的TaskManager内存模型
  2. python处理excel文件-python读取excel文件
  3. vba 单元格 一系例操作
  4. 架构 | 微服务架构下如何解耦,对于已经紧耦合下如何重构?
  5. redis创建集群报错can‘t connect to node 192.168.163.203
  6. 鬼怪出没不害怕,最怕秒杀404
  7. 【养生之道】电脑族必吃日常防辐射食品
  8. HTML5绘制一个3D立方体,HTML5/Canvas交互式3D立方体
  9. 韩顺平 2021零基础学Java 学习笔记(1)(自用)
  10. 华为手机备忘录的字体怎么调大?
  11. 正四边形单元刚度矩阵与其尺寸关系
  12. 破解封杀ADSL路由器解决办法全面剖析
  13. 举一个简单的例子,轻松搞懂所谓的“观察者模式”
  14. 删除文件夹时,报错“错误ox80070091:目录不是空的”,该如何解决?
  15. 结合MongoDB开发LBS应用(mongodb geo)
  16. OpenWrt -【记录】群辉NAS上安装软路由
  17. 2022下半年教资已经开始注册,1分钟看懂证件照审核要求
  18. File pyzed\sl.pyx, line 1, in init pyzed.sl ZED相机python API安装错误
  19. 打造一个现象级的网红APP,我们还差一些什么
  20. 【PAT天梯赛练习集L2-1】紧急救援——SPFA

热门文章

  1. 动态ip解析 linux,ddwrt路由/linux动态解析ip(ddns)到dnspod配置
  2. CDI Features
  3. 重绘(redraw或repaint),重排(reflow)
  4. BlocksKit源码分析(一)
  5. Android -- 写xml到SD卡中
  6. POJ - 1008 Maya Calendar
  7. 练习作品,javascript模拟select
  8. 【原创】软件团队建设和管理--之我见
  9. [转载] 算法导论:分治法,python实现合并排序MERGE-SORT
  10. [转载] Java单例模式与构造器私有化