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

関連情報