Linux 中的排序命令及示例
要以精确的顺序组织数据或对文件进行排序,请使用 sort 命令。使用 sort 命令对文件的数据进行逐行排序。如果记录按字母顺序排列,则文件按字母顺序排序。否则,如果记录包含数字信息,则按升序排序。 Linux 的排序功能提供了多种标志,我们可以从中选择反向排序或按列排序等。我们将在本文中使用其中的一些标志。
在示例中使用排序命令
我们可以使用 sort 对文本文件中的行进行排序。可以利用排序功能对数据文件进行排序。这种排序的输出打印在标准输出上。文件的内容可以按顺序或按字母顺序重新排列,并且数据可以按升序或降序排列,以便于阅读。现在,使用排序命令的各种示例,我们首先在终端窗口中显示当前桌面上的文件的名称。然而,要做到这一点,我们必须首先使用“cd”命令获取桌面目录,然后键入“Desktop”,后面跟一个空格,最后加一个斜杠(“/”)。
结果,当我们输入此命令时,会显示桌面目录。接下来,我们运行“ls”命令以将当前桌面上的文件列表显示在终端上。
下图显示了运行此命令后所有桌面文件如何显示在屏幕上。有三个文件具有“.txt”扩展名,因为它们都是名称为“file.txt”、“name.txt”和“record.txt”的文本文件。
现在,让我们在终端上打开任何文件。在本例中,我们打开“name.txt”文件。要在终端上打开此文件,我们使用“cat”命令。 “Cat”用于从文件中提取信息并输出其内容。它使创建、读取和连接文件变得更加容易。然后在输入空格后写入文件名“name.txt”。
如下图所示,当我们运行此命令时,它会在终端窗口中打开“name.txt”文件。该文件中有八行包含名称列表。 “Jhon”、“Smith”、“Alex”、“Jungkook”、“Dave”、“Seth”、“Wade”和“Jorge”都在名单上。
您可以在下面的代码片段中看到,当我们运行上述命令时,它显示了正确的结果,并且文件的数据是相同的。您还可以直接从桌面查看此文件。
现在我们有了命令,我们通过输入“sort”,后跟一个空格,然后输入文件名“name.txt”来对该文件进行排序。通过使用此命令,文件中的数据按字母顺序排序。
当我们运行此命令时,您可以在下图中看到文件显示的数据现已排序。以前,文件中的第一个元素是“Jhon”,以字母“j”开头。第二个元素是“Alex”,它以第一个字母表字母“A”开头。现在,我们可以看到它首先显示“Alex”。之后,它会显示“Dave”,然后显示“Jhon”。同样,您可以看到数据现在已排序。
多文件排序
我们在本节中对多个文件进行排序。在本例中,我们使用两个文件 - “Name.txt”和“Record.txt”是我们使用的文件。为了实现这一点,我们使用首先放置“排序”的命令。然后,我们输入一个空格以及文件名“name.txt”和“record.txt”。
当我们通过输入运行该命令时,该命令会显示文件中的数据和终端中的输出。我们有一个与记录文件中一样的数字。这些数字按顺序排序,或者可以说按升序排序。排序后的数字为“20%”、“40%”、“80%”和“90%”。此外,第二个文件“name.txt”中的名称也类似地按字母顺序排列。排序后的列表包括“Alex”、“Dave”、“Jhon”、“Jorge”、“Jungkook”、“Seth”、“Smith”和“Wade”。
使用 –R 反转排序顺序
在本节中,我们使用 Linux 的排序标志之一“-r”,它用于以相反的顺序对文件进行排序。 Linux 中的排序还提供了各种不同的标志来执行不同的操作。因此,我们要做的第一件事是在终端上打开一个需要反转的文件。在本例中,我们使用“record.txt”文件。要在终端上打开此文件,请使用“cat”命令。然后,输入文件名“record.txt”。
当我们执行此命令时,屏幕会显示 record.txt 文件。
现在,我们输入首先键入“sort”的命令,以相反的顺序对该文件进行排序。然后,一个空格后跟相反顺序的命令“-r”。最后是“record.txt”文件名。
执行此命令后,您可以在下面的屏幕截图中看到文件的内容反向排序,或者我们可以说它按降序显示,首先出现“90%”,然后是“80%”,“ 40%”,然后是“20%”。
对文件进行排序并将输出传输到不同的文件
“name.txt”文件现在已排序在此部分中。其输出被传输到另一个文件。为了实现这一点,我们使用命令,首先键入“sort”,然后键入 name.txt 文件名,后跟符号“>”和我们要将输出传输到的文件的名称,在本例中为是“输出.txt”。
现在,我们使用“ls”命令来检查“output.txt”文件是否生成以及“name.txt”文件传输结果是否成功。
如下图所示,该程序会创建一个名为 output.txt 的新文件并将其放置在桌面上。
现在,在后续步骤中,我们使用命令打开该文件。为此,我们输入“cat”和文件名“output.txt”,然后按 Enter 键。执行该命令时,文件的数据将显示在屏幕上。如您所见,它现在按字母顺序排序。
按列排序
现在我们决定按列对文件进行排序,让我们打开要排序的文件。该文件在桌面上的名称为“file.txt”,有两列。第一列包含各种编程课程的名称,第二列包含课程的代码。让我们首先使用“cat”命令打开该文件。然后,输入文件名“file.txt”,这样当我们运行此命令时,该文件将在终端上打开,如下图所示:
现在,我们对该文件进行了排序,我们对第二列进行排序。为此,我们使用首先键入“sort”然后键入“-k2”的命令。我们使用“-k2”是因为我们对第 2 列进行排序。最后,我们输入“file.txt”。
现在,执行此命令时文件将显示在终端上,您可以在下图中看到第二列已排序,而第一列未排序。您还可以使用命令中的“k1”关键字对第一列进行排序。如您所见,首先显示“python 110”,然后是“C# 123”、“Java 340”、“C++ 400”和“Html 444”。此外,我们可以指出“2”列中的课程是按升序排列的。
结论
在本文中,我们通过许多示例介绍了 Linux 中的排序命令。在第一部分中,我们在执行排序之前使用“ls”命令列出桌面的所有文件。我们使用“排序”将有记录的文件按字母顺序排列,或者将这些文件排序后按字母顺序排列。我们还回顾了如何对多个文件进行排序。排序命令的标志在第二部分中介绍,我们讨论了逆序排序、排序后将结果移动到另一个文件以及按列排序。