0

我想使用 unix 排序命令对 csv 文件进行排序,并且没有列可以非常逐行但最后的第三列保持不变我将如何对该文件实施 unix 排序命令?

我试过排序 -t"," -k? 文件名.csv

但我不知道用 k 输入什么,因为它将是从一开始的列号,而不是从最后一列

样本数据

"Hotel_Dom","4STRAVELCOMPANY@GMAIL.COM","4STRAVELCOMPANY@GMAIL.CO","NH57014106349",1280082600,"B2B","10037"
"Hotel_Dom","68MHOSPITALITY@GMAIL.COM","68MHOSPITALITY@GMAIL.COM","NH5520894246",1280023222,"B2B","1670"
"DF","00000000@11111.COM","FLTINT1000130394756","12800231456","B2C","6799.2"
"Rail","00000.POO@GMAIL.COM","NR251764697478",1280084511,"B2C","2025"

现在我想使用 unix 排序命令根据日期对其进行排序所以我已经将日期转换为自纪元以来的时间,但在我的 csv 起始列的数量上有所不同,所以我想将排序应用于从最后一行开始的第三行,它始终是日期

4

1 回答 1

2
awk -F, '{print $(NF-2)FS$0}' filename.csv | sort -n |  sed 's/^[^,]*,//'

希望这有效 +

于 2013-04-20T12:51:03.497 回答