我有大量 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