0

400MB から 1GB の大きなテキスト ファイルがあります。

日付が 2 番目のフィールドであるタブ区切りファイルです。レコードは日付順ではなく、任意の順序で並べ替えることができます。

レコード数と期間はファイルごとに異なります

14/02/2012テキスト ファイルの各レコードには、 (例: )の形式の日付フィールドがありますdd/mm/yyyy。テキスト ファイルを日付ごとに分割し、Month.txt として保存します (例2012Jan.txt)。

ファイルには、から までJan.txtの期間のレコードのみが含まれている必要があります。1st Jan 201231st Jan 2012

これを行う最良の方法は何ですか?誰かがこれを達成するためのコード/プログラミングツールを推奨できますか?

ありがとう

4

2 に答える 2

0

各出力ファイルにヘッダーを含む Windows .BAT ファイル:

awk "NR==1{header=$0};NR>1{split($2,date,\"/\");file=date[3]strftime(\"%%b.txt\",(date[2]-1)*31*24*60*60);if(!wrote[file]++)print header>file;print>file}" %1

(ここでは、入力ファイルの名前を引数として .BAT 呼び出しに渡します。常に同じファイルである場合は、%1代わりにそのファイル名に変更できます)

于 2013-06-21T12:02:50.867 に答える