有无
01-01-2016
08-01-2015
09-05-2015
要
08-01-2015
09-05-2015
01-01-2016
有没有办法在unix上对此执行排序操作?我正在使用这个命令,而且我正在使用" HAVE"结果:
sort file
答案 0 :(得分:1)
您编辑了问题,将输入日期表示从MM-DD-YY
(仍然是标题所示)更改为MM-DD-YYYY
。
我认为这意味着格式在您的控制之下。如果是这样,最佳解决方案是使用标准ISO 8601格式YYYY-MM-DD
。它可以直接排序和它是明确的; 2015-03-04
始终是3月4日,而不是4月3日。
如果您仍然使用MM-DD-YY
或MM-DD-YYYY
格式,则另一种解决方案是使用sed
对文件进行预处理,将其翻译为YYYY-MM-DD
,然后执行一个简单的sort
,然后将其翻译回所需的格式。这可能不如SMA's answer那么有效,但我个人觉得它更清楚(我从来没有完全弄清楚sort
命令的字段规范语法)。
答案 1 :(得分:0)
使用-n
选项进行排序,以数字方式排序:
sort -n -k 1.8 -k 1.7 -k 1.5 -k 1.4 -k 1.2 -k 1.1 file