Linux排序命令教程

Linux为系统管理员提供了很多有用的工具。这些工具为管理员提供了开发人员权限,因此管理员可以轻松地更改、修改、过滤和排序数据。那种 是另一个小而有力的工具。在本教程中,我们将研究排序的不同用法示例。

null

示例文件

我们将使用以下名为 fruits.txt

apple   1       good    JAN grape   5       bad     DEC banana  2       good    MAR melon   10      bad     JUN
Example File
示例文件

排序命令语法

sort 命令将使用以下语法。

sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F

排序命令示例

排序可用于文件或标准输入。在本例中,我们将根据每一行的开头对文件内容进行排序。正如我们看到的,我们的文件内容是按字母顺序排序的。

$ sort fruits.txt
Simply Sort
简单排序

降序 排序

默认情况下,排序是升序进行的。有时可以使用反向或降序模式进行排序。这可以通过提供 -r 参数

$ sort -r fruits.txt
Descending Sort
降序排序

将排序命令输出添加到文件

排序操作完成后,新的排序内容被打印到标准输出。另一种保存输出的方法是写入文件。

$ sort -r fruits.txt > reverse_fruits.txt
Add Output To File
将输出添加到文件

忽略大小写

默认情况下,排序是区分大小写的操作,这意味着在对字符进行排序时,会检测到大小写,并相应地对其进行排序。如果这不适合你,它可以被禁用 -f --ignore-case 参数。

$ sort -f fruits.txt
Ignore Case
忽略大小写

如果已排序,请检查指定的文件

排序的另一个有用功能是检查文件的状态(如果已经排序)。如果已经排序,将没有输出,但如果没有排序,将给出有关无序的单行信息。

$ sort -c fruits.txt

对多个文件排序

有时要排序的数据不在单个文件中。Sort命令没有使用多个文件的本机功能。在这里,其他bash工具提供了将多个文件合并到单个标准输入流的解决方案。在这个例子中,我们将 cat 多个文件并重定向到标准输入排序。

$ cat fruits.txt reverse_fruits.txt  | sort
Sort Multiple Files
对多个文件排序

排序 按给定列

到目前为止,我们已经从行的第一个字符开始对数据进行了排序。我们的数据可能以结构化的方式包含列,我们可能希望使用除第一列以外的其他列进行排序。这可以通过其他bash工具完成,但sort提供了一种简单的方法。

$ sort -k2 fruits.txt
Sort By Column
按列排序

排序 按多列

按列排序很容易实现,但是如果我们想按多个列排序,会发生什么呢。在这里 -k 参数可以与下面的多个值一起再次使用。我们将先用第1列排序,然后用第3列排序

$ sort -k2,3 fruits.txt
Sort By Multiple Columns
按多列排序

按数字排序

到目前为止,排序操作是用字母表和ASCII来完成的。通过sort可以检测数字并进行相应的排序。例如,在正常的排序操作1中 低于10 但如果我们想按数值排序 -n 参数的用法如下。

$ sort -n -k2 fruits.txt
Sort Numbers
排序数字

按大小排序

在使用Linux工具时,大小信息可以用不同的方式表示,默认的表达式方法是在前面加上一个度量名称,如 1GB , 128MB Sort支持这种类型的表达式,这对于简单的排序实现非常好。

$ ls -lh | sort -k 5 -h
Sort By Size
按大小排序

排序依据 日期

Unix和Linux月份的表达式如下 JAN , JUN Sort可以支持这种类型的月份表达式并对它们进行排序。这些蛾子列在第4列,我们将根据第4列的月份值和 -M 参数。

$ sort -k4 -M fruits.txt
Sort By Date
按日期排序

相关文章: Windows Robocopy命令教程,带以安全方式复制文件的示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享