小编dig*_*dre的帖子

如何使用“sort”命令按年月日升序排序?

我想以 格式对日期进行排序31.12.2023。应首先显示最低年份,然后显示最低月份,最后显示最低日期。

下面的代码符合我的需求吗?乍一看似乎不错。

sort -t '.' -k 3.1 -k 2.1 -k 1.1
Run Code Online (Sandbox Code Playgroud)

但对我来说更有意义的是:

sort -t '.' -k 3.4 -k 2.1 -k 1.1
Run Code Online (Sandbox Code Playgroud)

但这并没有按照我想要的方式排序。

编辑:

谢谢您的回复!

@Dan 谢谢你非常详细的解释。仍然不知道如何准确地处理关键选项。我测试了你的代码,但它仍然混合了一些东西。也许这是我在变量中使用它的方式,或者可能是字符串中内容的类型。

然后尝试了@FedKad 的提示,这似乎像我的 -k 3.1 -k 2.1 -k 1.1 一样工作。和-k 3 -k 2 -k 1 意思一样吗?

目前我只有 2023 年的条目,所以无法评估年份是否也有效,但现在使用上面的键,我已经按照我想要的方式进行了排序。也许我描述我需要的结果是失败的,但现在我得到了日最低到最高和月最低到最高。今年我将不得不等到 2024 年到来:)这是我的输出示例

2023年1月7日

2023年1月8日

2023年1月9日

2023年1月21日

2023年1月26日

2023年1月27日

2023年2月2日

command-line sort text-processing

6
推荐指数
1
解决办法
758
查看次数

标签 统计

command-line ×1

sort ×1

text-processing ×1