从命令行对 csv 文件中的日期时间戳列进行排序

从命令行对 csv 文件中的日期时间戳列进行排序

我有一个 csv 文件包含日期时间列格式为

1   Mon Mar 02 07:42:29 UT 2020
2   Tue Mar 03 09:02:09 UT 2020
3   Mon Mar 02 01:21:29 UT 2020

我正在尝试使用排序,但我认为我的设置不正确。另外,不确定如何包括星期几。

sort -t , -k 2 test.csv -o sorted.csv

答案1

给定

$ cat file.csv
1,Mon Mar 02 07:42:29 UT 2020
2,Tue Mar 03 09:02:09 UT 2020
3,Mon Mar 02 01:21:29 UT 2020

然后使用csvsort来自Python csvkit

$ csvsort --no-header-row --datetime-format "%a %b %d %H:%M:%S %Z %Y" --columns 2 file.csv
/usr/lib/python3/dist-packages/agate/table/from_csv.py:88: RuntimeWarning: Column names not specified. "('a', 'b')" will be used as names.
a,b
3,Mon Mar 02 01:21:29 UT 2020
1,Mon Mar 02 07:42:29 UT 2020
2,Tue Mar 03 09:02:09 UT 2020

相关内容