Linux sort命令入门教程(8例)Linux sort命令入门教程(8例)Linux sort命令入门教程(8例)Linux sort命令入门教程(8例)
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux sort命令入门教程(8例)

在此页

  1. Linux 排序命令
  2. Q1。如何使用排序命令?
  3. Q2。如何让排序忽略前导空格?
  4. Q3。如何使排序忽略大小写?
  5. Q4。如何进行排序比较数字?
  6. Q5。如何使用人类可读的数值进行排序?
  7. Q6。如何使排序只检查排序的输入?
  8. Q7。如何使排序合并已经排序的文件?
  9. Q8。如何让排序结果写入文件?
  10. 结论

寻找命令行实用程序来对文本文件中的内容进行排序?只需看看 Sort,这是专门为此目的而构建的工具。在本教程中,我们将使用一些易于理解的示例来讨论此命令。但在我们这样做之前,值得一提的是这里的所有示例都已经在 Ubuntu 22.04 LTS 机器上进行了测试。

Linux排序命令

Sort 命令允许您对文本文件中的行进行排序。以下是它的语法:

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

以下是工具手册页对其的描述:

Write sorted concatenation of all FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.

以下是一些 Q&A 风格的示例,它们应该可以让您很好地了解 sort 命令的工作原理。

Q1。如何使用排序命令?

假设您有一个包含一些名称的文件,并且您希望按字母顺序对这些名称进行排序。然后您需要做的就是将文件名作为输入传递给排序命令。

例如:

sort file1

因此,如果文件 1 包含以下行:

Zimbabwe
Serbia
Norway
Australia

那么输出将是:

Australia
Norway
Serbia
Zimbabwe

这里有一个例子:

Q2。如何让排序忽略前导空格?

根据您的区域设置,当行包含前导空格时,您可能会看到排序产生意外的结果。例如:

假设文件包含以下行:

Zimbabwe
 Serbia
  Norway
Australia

然后你运行排序,只看到以下结果:

  Norway
 Serbia
Australia
Zimbabwe

这可能看起来出乎意料,但实际发生的是包含前导空格的行根据空格排序,而其他行则按字母顺序排序。要确保排序命令忽略前导空格,请使用 -b 选项。所以在那种情况下,你会得到以下结果:

Australia
  Norway
 Serbia
Zimbabwe

Q3.如何使排序忽略大小写?

如果文件中的单词/行同时以大写和小写字符开头,则排序会在顶部显示大写字母。但是,如果需要,您可以使用 -f 命令行选项更改此行为。

例如:

sort -f file1

Q4.如何进行排序比较数字?

假设一个文件只包含数字,你想对它们进行排序。然后可以使用 -g 命令行选项使这成为可能。

sort -g file1

例如具有以下内容的文件:

32000
2500
50000
54

可以使用 sort 命令进行排序以产生以下结果:

54
2500
32000
50000

Q5.如何使用人类可读的数值进行排序?

如果您希望 sort 使用人类可读的数值(如 1K、2G 等),请使用 -h 命令行选项。

sort -h file1

因此,例如,一个包含以下行的文件:

1M
2G
3K

可以使用 -h 选项按以下方式排序:

3K
1M
2G

Q6.如何使排序只检查排序的输入?

以防万一您希望 sort 仅检查文件是否已排序,请使用 -c 命令行选项。

sort -c file1

例如,如果 file1 包含以下行:

dhg
lkh
zyb
abd

然后使用 -c 将看到 sort 产生以下输出:

sort: file1:4: disorder: abd

所以你观察到该工具不仅指出了那里的混乱,而且还输出了它的位置。

Q7.如何使排序合并已经排序的文件?

如果要排序合并两个已排序的文件,请使用 -m 命令行选项。

sort -m file1 file2

例如,在我的案例中,file1 和 file2 都包含以下行:

abd
dhg
lkh
zyb

下面是 -m 选项如何合并这些文件:

abd
abd
dhg
dhg
lkh
lkh
zyb
zyb

Q8.如何使排序结果写入文件?

默认情况下,sort 命令将输出写入 STDOUT。但是,您可以使用 -o 选项强制它写入给定文件。

例如:

sort file1 -o output.txt

结论

排序命令提供了很多选项。我们在这里讨论了几个关键问题。我们建议您先练习这些,完成后,前往命令手册页了解更多信息。

©2015-2025 艾丽卡 support@alaica.com