详解Linux sort命令:排序文件的内容

  • Post category:Linux

Linux中的sort命令用于对文本文件中的行按照字典序进行排序。它可以用在shell脚本中,也可以在命令行中使用。下面是sort命令的使用方法:

语法

sort [OPTION]... [FILE]...

选项

-b:忽略每行前面的空格符;

-c:检查文件是否已经排过序,并发现第一个不符合顺序的行的相关信息,并且不改变原来的内容;

-h:进行人类可读的排序,比如 10K,1G 等;

-n:将字符数字视为数值进行排序(默认按照字典序);

-r:降序排序;

-t:指定字段的分隔符,默认是制表符;

-u:删除文件中的重复行;

-k:指定排序的键值,可以指定多个键值,用逗号隔开;

示例一

我们有一个包含以下内容的文本文件test.txt

hello
world
apple
cat

我们想按照字典序从小到大排序后输出到控制台,可以使用以下命令:

sort test.txt

输出:

apple
cat
hello
world

示例二

如果我们想按照文件中每行的第二个单词进行排序,可以使用-k选项指定排序的键值。假设我们的文本文件test2.txt内容如下:

apple 3
cat 2
hello 4
world 1
apple 1
cat 3

我们可以使用以下命令进行排序:

sort -k 2 test2.txt

输出:

world 1
apple 1
cat 2
apple 3
cat 3
hello 4

以上就是sort命令的详细介绍和使用方法。