Linux 中 7 个有趣的“排序”命令示例 – 第 2 部分

在上一篇文章中,我们介绍了“种类' 命令。如果您错过了,可以通过以下链接进行补看。在这篇文章中,我们将从上一篇文章中停止的地方继续,介绍该命令的其余方面。这样,两篇文章将一起作为 Linux 的综合指南'种类' 命令。

在我们继续之前,请创建一个名为“月份.txt' 并用下面提供的数据填充它。

echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
cat month.txt

15. 按月份对文件内容进行排序

以下命令对文件的内容进行排序“月份.txt” 根据月份缩写或名称按时间顺序排列'-M'指示 ' 的选项种类' 命令将数据视为日期并相应地对它们进行排序。

sort -M month.txt

16. 按人类可读格式的文件大小对输出进行排序

以下命令结合了 'LS' 和 '种类' 命令执行两项任务。首先,它以长格式列出用户主目录的内容,然后将此目录列表通过管道传递给“sort”命令,以人类可读的格式打印文件大小,从而更容易识别文件中最大和最小的文件。目录。

ls -l /home/$USER | sort -h -k5

17. 检查排序文件的一致性

在上一篇文章中,我们生成了两个文本文件:'排序.txt' 在示例 4 中和 'lsl.txt' 在示例 6 中。我们知道 '排序.txt' 已经排序,而 'lsl.txt' 不是。

为了验证两个文件的排序状态,我们将使用 '种类' 命令,这将允许我们确认是否 '排序.txt' 保持正确的顺序以及是否 'lsl.txt' 需要排序。

sort -c sorted.txt

如果返回的话0,表示文件已排序且不存在冲突。

sort -c lsl.txt

18. 在文件中不使用空格时处理分隔符

如果分隔符分隔符) 单词之间是一个空格,'种类' 命令自动将水平空格后面的任何内容解释为新单词。但是当分隔符不是空格时会发生什么?

考虑一个文本文件,其内容由除空间例如'|'或者'\'或者'+'或者'.'或者...</code.

创建一个文本文件,其中内容由+。使用检查文件的内容。

echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt

现在根据以下条件对该文件进行排序第一名数值字段。

sort -t '+' -nk1 delimiter.txt

第二个是基于第四名非数字字段。

如果分隔符是选项卡你可以使用$'\t'代替'+',如上例所示。

19. 按文件大小随机排序输出

对输出进行排序基于第五列的主目录,第五列代表“数据量”,按随机顺序排列。

ls -l /home/avi/ | sort -k5 -R 

每次运行上面的脚本时,您可能会得到不同的结果,因为结果是随机生成的。

从清楚可见规则编号 – 2从上一篇文章来看,种类命令更喜欢以小写字符开头的行而不是大写字符开头的行。另请检查实施例3在上一篇文章中,字符串 '笔记本电脑' 出现在字符串 ' 之前笔记本电脑'。

20. 覆盖默认排序首选项

如何覆盖默认排序首选项?在覆盖默认排序首选项之前,我们需要导出环境变量'LC_ALL''C'

为此,请在命令行提示符下运行以下代码。

export LC_ALL=C

然后对文本文件进行排序'howtoing.txt' 覆盖默认的排序首选项。

$ sort tecmint.txt

不要忘记将输出与您在中实现的输出进行比较实施例3您也可以使用选项 '-f'又名'--ignore-case' 以获得组织良好的输出。

$ sort -f tecmint.txt

21. 在单个操作中组合两个输入文件

跑步怎么样'种类' 在两个输入文件上并一次性加入它们?

让我们创建两个文本文件,即 '文件1.txt' 和 '文件2.txt',并用一些数据填充它们。在 '文件1.txt',我们将添加数字,如下所示。我们还将使用检查文件的内容

echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
cat file1.txt

并填充第二个文件'文件2.txt' 一些数据为。

echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
cat file2.txt

现在对两个文件的输出进行排序并连接。

join <(sort -n file1.txt) <(sort file2.txt)

结论

总之,本文探讨了“种类' Linux 中的命令。我们从按字母顺序进行基本排序开始,开始尝试基于数字和日期的排序,甚至还涉及自定义分隔符。我们还学习了如何覆盖默认排序首选项以满足我们的需求。

此外,我们还讨论了检查文件是否已排序并组合“种类' 多个输入文件的操作。借助此处获得的知识,您将拥有一个强大的工具,可以在 Linux 环境中有效地排序和组织数据。

我们希望本文对您的命令行工作具有洞察力和有用性。不断探索、学习和掌握“种类' 来增强您的 Linux 技能。