linux - 按 [M]M/[D]D/YYYY 对大文件排序

标签 linux sorting date date-sorting

我有这些大型制表符分隔文本文件,我想按日期字段(第 17 个字段)对它们进行排序。问题是日期采用 [M]M/[D]D/YYYY 格式,这意味着没有前导零,因此日期可以是:

2013 年 3 月 3 日, 2014 年 4 月 17 日, 2013年12月4日

是否可以使用sort命令来执行此操作?我还没有找到一个不考虑前导零的例子。

作为注释,我尝试将日期字段重新计算为距某个日期的天数,然后对其进行排序。这是可行的,但是执行此额外步骤所需的读/写需要很长时间。

最佳答案

如果日期位于行的开头:

sort -n -t/ -k3,3 -k1,1 -k2,2

使用 --debug 选项来排序是否有帮助

关于linux - 按 [M]M/[D]D/YYYY 对大文件排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22413608/

相关文章:

algorithm - 外部合并排序算法如何工作?

python - 在字符串列表上使用排序和关键参数

SQL:对数据排序后获取数据集的排名

javascript - 在 Javascript 中获取下一个 12 个月的结果搞砸了

c++ - 任意类型上的 GDB 条件断点,例如 C++ std::string 相等性

linux - linux网络代码如何在某个端口上接受

linux - 如何从子 shell 脚本导出库路径并在父 shell 中使用该路径?

linux - Bash 中 $() 和 () 的区别

angularjs - orderBy dd/mm/yyyy by year Angular

java - SimpleDateFormat 似乎失败并显示 "yyyy-MM-dd HH:mm:ss.SSS0"