Sti*_*ing 4 grep awk date sort
我有这个代表日历的文件。每个文件都有准确的日期和时间,然后是事件名称和注释。
06-12-2016,12:00,gym,leg day
05-04-2018,12:09,gym,hands
09-08-2019,13:08,movies,horror
05-04-2019,14:07,gym,hands
23-03-2018,16:47,dance class
25-04-2019,13:29,dance class
05-12-2017,14:45,songwriting
Run Code Online (Sandbox Code Playgroud)
我需要打印按正确顺序排序的事件。
我尝试过使用grep
andawk
但它不能正常工作。我能做些什么?
我相信最简单的命令是
sort -t- -k3.1,3.4 -k2,2 file
Run Code Online (Sandbox Code Playgroud)
这对第三个字段的四个字符进行排序,并通过对第二个字段进行排序来解决关系。如果仍然没有解决平局,则将通过从第一个字段开始比较所有其他字段来自动确定顺序。
请注意,所有排序都是按字母顺序完成的,因为数字是正整数,所以添加额外的n
并不重要。
测试样品:
06-12-2016,12:00,gym,leg day
05-04-2018,12:09,gym,hands
09-08-2019,13:11,movies,horror
09-08-2019,13:09,movies,horror
09-08-2019,13:08,movies,horror
08-08-2019,13:09,movies,horror
05-04-2019,14:07,gym,hands
23-03-2018,16:47,dance class
25-04-2019,13:29,dance class
05-12-2017,14:45,songwriting
Run Code Online (Sandbox Code Playgroud)
排序结果:
06-12-2016,12:00,gym,leg day
05-12-2017,14:45,songwriting
23-03-2018,16:47,dance class
05-04-2018,12:09,gym,hands
05-04-2019,14:07,gym,hands
25-04-2019,13:29,dance class
08-08-2019,13:09,movies,horror
09-08-2019,13:08,movies,horror
09-08-2019,13:09,movies,horror
09-08-2019,13:11,movies,horror
Run Code Online (Sandbox Code Playgroud)