您的位置:首页 > 汽车 > 新车 > Shell工具——sort

Shell工具——sort

2024/9/8 11:05:57 来源:https://blog.csdn.net/2302_80272644/article/details/141499034  浏览:    关键词:Shell工具——sort

sort 是一个在 Unix 和类 Unix 系统(如 Linux 和 macOS)中广泛使用的命令行工具,用于对文本文件中的行进行排序。它非常灵活,支持多种排序选项,如按数值、字典顺序排序,以及逆序排序等。

基本用法

sort [选项] [文件...]

如果没有指定文件,sort 会从标准输入读取数据。

常用选项

  • -n:按数值排序,而非默认的字典序。
  • -r:逆序排序。
  • -t:指定字段分隔符,默认为空白字符(空格或制表符)。
  • -k:指定排序的字段,配合 -t 使用。例如,-k2,2 表示仅根据第二个字段排序。
  • -u:去重,仅输出排序后的唯一行。
  • -o:将排序后的结果输出到指定文件,而不是标准输出。

示例

  1. 基本排序

    假设有一个名为 numbers.txt 的文件,内容如下:

    3  
    1  
    4  
    1  
    5  
    9  
    2  
    6

    使用 sort 排序:

    sort numbers.txt

    输出:

    1  
    1  
    2  
    3  
    4  
    5  
    6  
    9

  2. 按数值排序

    为了按数值而非字典序排序,使用 -n 选项:

    sort -n numbers.txt

    输出:

    1  
    1  
    2  
    3  
    4  
    5  
    6  
    9

    注意,尽管这里的结果看起来与未使用 -n 时相同,但在处理包含前导零的数字或更复杂的数字格式时,差异会显现出来。

  3. 逆序排序

    使用 -r 选项进行逆序排序:

    sort -nr numbers.txt

    输出:

    9  
    6  
    5  
    4  
    3  
    2  
    1  
    1
  4. 基于字段排序

    假设有一个名为 people.txt 的文件,内容如下(使用逗号作为分隔符):

    John,30  
    Jane,25  
    Doe,35  
    Smith,20

    按年龄(第二个字段)排序:

    sort -t, -k2,2 people.txt

    输出:

    Smith,20  
    Jane,25  
    John,30  
    Doe,35
  5. 去重并排序

    去除重复行并排序:

    sort -u numbers.txt

    输出:

    1  
    2  
    3  
    4  
    5  
    6  
    9

    sort 是一个非常强大的工具,支持多种排序选项和模式,能够满足大多数文本排序的需求。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com