Cygwin CSV按列排序数据

时间:2013-05-29 15:42:39

标签: shell csv cygwin

更新2:

好的,我无法让它正常工作,它正在处理一个文件而不是另一个文件:

C:\cygwin\bin\sort -t"," -k5,2 c:\tmp\CI-tosplit.csv > c:\tmp\CI-DEN-sorted.csv

这似乎是对数据进行排序,但它忽略了标题,我认为,2表示开始@第2行它在一个文件而不是另一个文件。

我要做的就是按第5列对csv文件进行排序并保留标题。

再次感谢所有输入。

更新:

好的,我现在已经切换到cygwin了,我正在使用以下命令:

C:\cygwin\bin>sort -t"," -k8 c:\tmp\test.csv > c:\tmp\test-sorted.csv

-t设置分隔符 -k代表第12列

这样可行,但我无法让标题留在原地。

任何输入都会很棒,谢谢你们。


我正在尝试使用awk按指定列对CSV进行排序,但我找不到任何有用的内容。

sort -t, -k2 - u test.csv

指定输入文件两次。

请帮忙,我正在使用Windows BTW。

2 个答案:

答案 0 :(得分:0)

看起来你使用的是排序而不是awk。它具有唯一的-u选项(无空格),-t选项也应具有值(分隔符)。尝试:

sort -t, -k2 -u test.csv

答案 1 :(得分:0)

如果其他人确实发现这个有用,我发现按列排序csv文件的最简单方法是使用cygwin,以下内容适用于我:

sort -t"," -k5,2 c:\tmp\test.csv > c:\tmp\test-sorted.csv

-t设置确定器 如果有标题,-K Columnn,2表示第2行 输入文件 输出文件

感谢所有输入人员。