從命令列對 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

相關內容