把这归结为我 25 年前知道的事情,然后忘记了......
我有来自 Windows 事件日志的日志输出,并且无法控制时间戳格式(如果我这样做了,我会选择像 YYYYMMDD HH24MMSS 这样合理的东西,所以当它被视为字符串时很容易排序。
我确信有一个简单的使用 sed 或某种排序参数执行此操作的方法。有人对此有快速解决方案吗?
样本数据:
SERVER01,1/1/2013 12:00:01 AM,8,FOO,TOO
SERVER01,4/10/2012 4:43:06 PM,8,FOO,TOO
SERVER01,4/11/2012 4:43:06 PM,8,FOO,TOO
SERVER01,4/9/2012 4:43:06 PM,8,FOO,TOO
SERVER02,12/31/2012 11:59:59 PM,8,FOO,TOO
SERVER02,4/10/2012 4:43:06 PM,8,FOO,TOO
SERVER02,4/9/2012 4:43:06 PM,8,FOO,TOO
所需顺序:
SERVER01,4/9/2012 4:43:06 PM,8,FOO,TOO
SERVER02,4/9/2012 4:43:06 PM,8,FOO,TOO
SERVER01,4/10/2012 4:43:06 PM,8,FOO,TOO
SERVER02,4/10/2012 4:43:06 PM,8,FOO,TOO
SERVER01,4/11/2012 4:43:06 PM,8,FOO,TOO
SERVER02,12/31/2012 11:59:59 PM,8,FOO,TOO
SERVER01,1/1/2013 12:00:01 AM,8,FOO,TOO
重新格式化时间戳是可以的,甚至是可取的。我只是不知道怎么做。这需要在 Windows 上运行,并且我有 Cygwin 可用(并且已经在使用它对同一个文件进行一些 grep 过滤)。