想要根据 UTC 日期 yyyy-mm-ddThh:mm:ss.000Z 对文件进行排序

想要根据 UTC 日期 yyyy-mm-ddThh:mm:ss.000Z 对文件进行排序

我想根据我尝试过的第四列对日期进行排序sort -k4。它不起作用。输入文件示例:

| 2021-02-17T15:38:53.000Z | | 83027fed-1570-4b39-ab4e-3f75f126cf1c | 2021-02-17T16:02:32.000Z | active |
| 2020-10-20T05:52:44.000Z | | 8cbd06fa-c24e-4e72-be1e-3340d0ea0bd5 | 2020-10-20T06:32:41.000Z | active |
| 2021-01-22T07:14:01.000Z | | c6df951e-3aea-4f34-9fc7-d6a077b7f369 | 2021-01-22T07:37:11.000Z | active | 
| 2020-10-20T05:46:28.000Z | | eb82a308-543b-4e1a-8f08-e17d2655e5c7 | 2020-10-20T06:26:00.000Z | active |
| 2021-02-10T05:31:48.000Z | | ed09b1d9-4a72-436f-9830-237798774cdf | 2021-02-10T05:55:28.000Z | active |

答案1

您需要指定字段分隔符并确保正确计算字段。在您的情况下,字段分隔符是|。但这也意味着每行开头有一个“空”字段,因此您的“实际”字段编号是 5:

~$ sort -t'|' -k5 file 
| 2020-10-20T05:46:28.000Z | | eb82a308-543b-4e1a-8f08-e17d2655e5c7 | 2020-10-20T06:26:00.000Z | active |
| 2020-10-20T05:52:44.000Z | | 8cbd06fa-c24e-4e72-be1e-3340d0ea0bd5 | 2020-10-20T06:32:41.000Z | active |
| 2021-01-22T07:14:01.000Z | | c6df951e-3aea-4f34-9fc7-d6a077b7f369 | 2021-01-22T07:37:11.000Z | active | 
| 2021-02-10T05:31:48.000Z | | ed09b1d9-4a72-436f-9830-237798774cdf | 2021-02-10T05:55:28.000Z | active |
| 2021-02-17T15:38:53.000Z | | 83027fed-1570-4b39-ab4e-3f75f126cf1c | 2021-02-17T16:02:32.000Z | active |

相关内容