想要从行尾开始从第3列对csv文件进行排序而不是从开始

时间:2013-04-20 12:35:39

标签: unix sorting csv

我想使用unix sort命令对csv文件进行排序,并且没有列可以在行到行之间进行排序 但是最后的第3列仍然是如何实现unix排序命令到这个文件??

我试过了 sort -t“,” - k? filename.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 sort命令对它进行排序所以我已经将日期转换为时间,因为我的csv起始列的数量不同所以我想将排序应用于最后一行的第三行,即日期

1 个答案:

答案 0 :(得分:2)

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

希望这有效+