Linux sort 命令介绍

sort命令用于大量数据的排序,是一种十分强大的命令。它可以根据ascii码值、数字值或者是版本号进行排序,支持正逆序,以及指定列或者多列排序。

Linux sort 命令适用的Linux版本

sort命令适用于所有主流的Linux发行版,包括但不限于 Ubuntu, Debian, Fedora, CentOS, RHEL等。

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils – Debian based systems

[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils   -- CentOS/RHEL
[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils   -- Fedora 22+
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils   -- ubuntu

Linux sort 命令的基本语法

sort [options] [files]

Linux sort 命令的常用选项或参数说明

选项 说明
-b 忽略每行前面的空格字符。
-c 检查文件是否已经是排序过的,如果是,则什么都不进行,否则输出错误信息和第一个错误的位置。
-M 以月份名称排序 (JAN, FEB,…)

Linux sort 命令实例详解

实例1:无参排序

[linux@bashcommandnotfound.cn ~]$ sort file.txt

实例2:按照数字进行排序

[linux@bashcommandnotfound.cn ~]$ sort -n file.txt

实例3:忽略行的前面空格字符

[linux@bashcommandnotfound.cn ~]$ sort -b file.txt

实例4:按月份名称排序

[linux@bashcommandnotfound.cn ~]$ sort -M file.txt

实例5:对文本进行逆序排序

[linux@bashcommandnotfound.cn ~]$ sort -r file.txt

实例6:合并两个已排序过的文件

[linux@bashcommandnotfound.cn ~]$ sort -m file1.txt file2.txt

实例7:根据指定的列来排序

[linux@bashcommandnotfound.cn ~]$ sort -k 2n file.txt

在这个实例中,我们告诉sort命令使用-k选项来根据第二列来排序。-n标志告知sort命令这一列是数字,应按数字进行排序。

实例8:在指定的列进行字符串排序

[linux@bashcommandnotfound.cn ~]$ sort -k 1.7 -k 1.1 file.txt

在这个实例中,我们告诉sort命令使用-k选项以字符串在第一列的第七个字符处开始排序,然后再在第一列的第一个字符处排序。

实例9:按特定列的数字值排序

在这个示例中,假设我们有一个文件在第二列中包含数字,并且我们想根据这些数字升序排序。这时,我们可以使用 "-k"选项,后跟列号并添加 "n"标志,如下所示:

[linux@bashcommandnotfound.cn ~]$ sort -nk2 file.txt

实例10:检查文件是否已经排过序

此选项将读取指定的文件,并检查它们是否已经排过序。如果文件已经排过序,sort命令将退出并不会输出任何内容。否则,它将输出相关信息。

[linux@bashcommandnotfound.cn ~]$ sort -c file.txt

实例11:根据月份名称排序

如果文件中的数据是月份名称,则可以使用 "-M"选项对其进行排序。这将按照月份的顺序进行排序,而不是以字母顺序进行排序。

[linux@bashcommandnotfound.cn ~]$ sort -M file.txt

实例12:将排序结果输出到其他文件

我们可以使用 "-o"选项将排序的结果输出到其他文件中,如下所示:

[linux@bashcommandnotfound.cn ~]$ sort -o sorted_file file.txt

实例13:多重排序

在某些情况下,我们可能会遇到必须先对一个字段进行排序,然后对另一个字段进行排序的情况。可以通过使用逗号将多个 "-k"选项分开来处理这种情况。

[linux@bashcommandnotfound.cn ~]$ sort -k1,1 -k2,2n file.txt

在这个示例中,sort命令将首先按字母顺序对第一列进行排序,然后在具有相同第一列的行中对第二列进行数字排序。

Linux sort 命令的注意事项

sort 命令在处理非常大的文件时,可能会消耗大量的系统资源。所以在对大文件进行排序时,需要谨慎使用。

Linux sort 相关命令

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐