我想以 格式对日期进行排序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日