Linux中10大常用命令之sort使用案例

1. 前言linux中的sort命令用于对文本文件的内容进行排序 。本教程向您展示了sort命令的一些基本示例 。
Linux中的sort命令sort命令以有用的方式排列文本行 。这个简单的工具可以帮助您快速地从命令行对信息进行排序 。
语法:
sort [options] <filename>你应该注意几件事:
当您使用没有任何选项的排序时,将强制执行默认规则 。它有助于理解默认规则以避免意外结果 。在使用sort时,原始文件和数据是安全的 。输入的结果只显示在命令行上 。但是,也可以根据具体需求,将输出结果指定保存为单独的文件 。稍后再详细介绍 。sort最初设计用于ASCII字符 。我没有对大量不同编码进行测试,但是不同的编码可能会产生意想不到的结果 。

Linux中10大常用命令之sort使用案例

文章插图
Linux中10大常用命令之sort使用案例
 
2. `sort`命令使用案例
Linux中10大常用命令之sort使用案例

文章插图
sort命令使用案例
 
sort命令中的默认规则这些是使用sort命令时的默认规则 。前几个例子将说明如何管理这些优先级 。然后,我们将查看特定选项 。
  • 数字 > 字母
  • 小写 > 大写
2.1 `sort`命令使用规则让我向您展示一些排序命令的例子,您可以在各种情况下使用它们 。
  1. 按字母顺序排序
    默认的排序命令可以方便地按字母顺序查看信息 。不需要任何选项,即使大小写字母混合的情况下,A-Z排序也可以按预期工作 。
我将使用一个名为filename.txt的示例文本文件,如果您查看该文件的内容,您将看到以下内容:
MX LinuxManjaroMintelementaryUbuntusort filename.txt以下是按字母顺序排列的输出结果:
elementaryManjaroMintMX LinuxUbuntu
Linux中10大常用命令之sort使用案例

文章插图
Linux使用sort命令对文本内容进行排序
 
2.2 按数值排序[选项-n]让我们使用上一个例子中使用的列表,并按数字顺序排序 。如果你想知道,根据distrowatch.com网站,该榜单反映了最受欢迎的Linux发行版(2019年7月) 。
我将修改文件的内容,使项目编号,但顺序如下所示 。
1. MX Linux4. elementary2. Manjaro5. Ubuntu3. Mintsort filename.txt排序后得到:
1. MX Linux2. Manjaro3. Mint4. elementary5. Ubuntu看起来不错 。但是,您能依靠这种方法来准确地排列数据吗?可能不会 。让我们看另一个例子来找出原因 。
这是我的新建的演示文本:
1510352602343221现在,如果我使用sort命令没有任何选项,这是我得到的:
sort order.txt1102212334325560注意:数字仅按其开头(第一个字符)的数字排序 。
当您添加-n选项时,现在正在计算字符串的数值,而不仅仅是第一个字符 。现在,您可以在下面看到我们的列表得到了适当的排序 。
sort order.txt -n现在你将有正确排序的输出结果:
12355102123604322.3 反向排序[选项-r]对于这个,我将再次使用我们的发行版列表 。它将对任何内容进行反向排序 。
sort filename.txt -r反向排序
5. Ubuntu4. elementary3. Mint2. Manjaro1. MX Linux2.4 随机排序[选项-R]如果您在尝试反向排序参数时不小心按了shift键,您可能会得到一些奇怪的结果 。-R按随机顺序重新排列输出 。
sort filename.txt -R以下是随机排列的结果:
4. elementary1. MX Linux2. Manjaro5. Ubuntu3. Mint2.5 按月份排序[选项-M]sort还内置了按月份排序的功能 。它可以基于特定地区的信息识别多种格式 。
下面是这个例子中的文本文件示例:
MarchFebFebruaryAprilAugustJulyJuneNovemberOctoberDecemberMaySeptember143601/05/1901/10/1902/06/18使用-M选项按月排序的输出结果:
sort filename.txt -M下面是输出结果:
01/05/1901/10/1902/06/181346JanFebFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember2.6 将排序后的结果保存到另一个文件中如前所述,默认情况下sort不会更改原始文件 。如果需要保存已排序的内容,可以这样做 。
对于本例,我创建了一个新文件,我希望打印已排序的信息并将其保存为filename_sort .txt 。


推荐阅读