我必须对2个文件的内容进行排序,这样我必须首先按日期对其进行排序,然后在每个子组中也按时间对其进行排序。我尝试通过简单地使用
来实现sort -k 2
然后
| sort -k 3
第二行包含日期,第三行包含时间。 问题在于,不是在第二个sort命令之后对每个子组中的值进行实际排序,而是仅按时间重新排列所有值,而完全忽略了先前的排序。 例如,说我有以下输入:
名称1 3.5。 10:00
名称2 3.5。 11:00
名称3 3.5。 8:00
名称4 4.5。 13:00
名称5 5.5。 7:00
我想按日期在每个子组中的出现时间分别对它们进行排序,而日期保持相同的顺序:
名称3 3.5。 8:00
名称1 3.5。 10:00
名称2 3.5。 11:00
名称4 4.5。 13:00
名称5 5.5。 7:00
如果解决方案可以单行编写(例如,使用|),这也将非常有帮助。
谢谢。
更新:
我尝试使用-k2,2 -k3,3排序,但无论出于何种原因,它仍然不起作用!它可以正确排序日期,但是时间混乱。 如果我在末尾添加-n,则可以正确地对时间进行排序,但是日期却乱序了... 我什至尝试按正常方式对日期和时间进行数字排序: 排序-k2,2 -k3,3n 但它仍然只能正确排序日期,而时间仍然不正确。我不知道该怎么办这真杀了我...
答案 0 :(得分:0)
尝试一下:
$(document).height();
这意味着先对键2进行排序,然后再对键3进行排序,这似乎是您想要的,而sort -k2,2 -k3,3 -n file
则意味着对数字进行排序,这显然不适用于日期和时间,但是比字母数字排序更接近您想要的...