根据 Unix 时间戳对 CSV 进行排序

根据 Unix 时间戳对 CSV 进行排序

我有大量 CSV 文件,每个文件都有多个数字列。第一列是 Unix 时间戳。我怎样才能对这样的文件进行排序?谢谢。

文件的示例行如下:

1376317246; 4;  11703.99824;    10477.029091173334; 89.51666666666667;  6.7108864E7;    2.0937962933333334E7;   0.0;    1.4;    235.53333333333333; 3.8666666666666667

答案1

如果它看起来像这样,我不会将其称为 CSV 文件。

sort -t";" filename

应该可以。这将对所有列进行排序。如果这不吸引人,那么应该适合你。

来自文档:

   -t, --field-separator=SEP
          use SEP instead of non-blank to blank transition

答案2

你可以用种类

sort --field-separator=';' --key=1 yourCSVfile.csv 

如果您需要创建一个新的排序文件,只需添加一个输出文件:

sort --field-separator=';' --key=1 yourCSVfile.csv > sortedCSVfile.csv

答案3

我将使用带有以下选项的排序:

  • -g(--general-numeric-sort) 用于数字排序,以防万一,因为默认排序机制是字母排序,排序 {9..11} 将得到 10 11 9。
sort -g filename

相关内容