4バイト目から5バイト分の組み合わせで行を取得(100バイト+CRLF)しファイル分割したいと考えています。ソート済みとします。組み合わせを作る5バイトはファイル名として使用できる英数とします。
シェルスクリプトやプログラム言語、データベースにロードしてなどではなく、よいツールを探しています。これが最速じゃない?というのを教えてください。
ハードはIAサーバーでPen4の2.8が2つ、RAMは4GB。OSはWindowsかLinuxで。
http://nifberry.727.net/tool.htm
$B%=%U%H4X78(B
上記URLの
データベース簡易抽出ソフト [DL Ver 1.0]
です
データベースにロードしないでアプリケーションレベルで直接操作ということなので、速度的に制約があるかもしれませんが、手作りのものです
ある程度データ形式が変わってもファイル分割抽出できるようになっています
ソートされていないデータでなくても実行できますが、固定長のデータであれば、ソートされたデータは若干高速に処理できるようになっています
100バイト+CRLFということなので、固定長102バイトにして、追記モード、レコードの特定位置指定、レコード開始位置4、バイト数5にしてから、実行してみてください
なお、実行時には出力先のフォルダの中身を空にするかどうかきいて来ますので、大事なフォルダを間違えて指定しないようにして下さい
ご要望の機能を実現するためには、コマンダ64以外にはないのではないかと思います。
RECSEL コマンド⇒条件で行を抽出する。
RECEDT コマンド⇒レイアウトを変更して出力する。
※この程度のファイルなら、指定のマシンスペックなら30秒くらいで処理されます。
ありがとうございます。いいかんじですね。
Yahoo! JAPAN
さきほどのデータを実際に加工してみました。
以下のコマンドを実行すると、XEON2.8×2の環境では、30秒ほどで処理されました。
RECCMP INPUT.TXT OUTPUT.TXT (4,5)
RECEDT OUTPUT.TXT SPLIT.BAT (C,RECSEL)(S,1)(C,OUTPUT.TXT)(S,1)(4,5)(C,.TXT)(S,1)(C,0x28)(C,4)(C,0x2C)(C,5)(C,0x29)(C,[)(4,5)(C,])
CALL SPLIT.BAT
ご丁寧にありがとうございます!!
ありがとうございます。
試してみます。