如何对文本文件中的日期列表进行排序

如何对文本文件中的日期列表进行排序

假设我有一个包含日期列表的文本文件 (dd.mm.yyyy)。

01.01.2020
01.03.2020
01.01.2019

我该如何整理它们? (以“从上到下”的方式从最旧到最新)?

答案1

尝试

sort -t. -k 3,3 -k 2,2 -k 1,1 <filename

将分隔符设置为“.”然后按键排序 3 (yyyy), 2 (mm), 1 (dd)

答案2

$ awk -F . '{ print $3, $2, $1 }' file | sort | awk -v OFS=. '{ print $3, $2, $1 }'
01.01.2019
01.01.2020
01.03.2020

这会将带有小脚本的字段反转awk为 YYYY MM DD 顺序。可以使用 plain 将其排序sort为正确的日期顺序。最后一个awk将数据恢复原样,并用点作为分隔符。

相关内容