私の問題はこれです:実際のデータに加えて、ファイルの先頭にコメント行が含まれている非常に大きなデータファイル(合計数ギガバイト)がいくつかあります。
したがって、次のようになります。
# This is a file containing data.
# Here's how to use it:
# ...
# Now, let's get to the actual data:
DATA DATA DATA
私が達成しようとしているタスクは、これらのファイルからコメントをできるだけ早く削除することです。これは、データベースにコメントを取り込むために使用するツールではコメントを処理できないためです。
私の現在の方法はこれです:
# For each data file...
system "sed '/^\\#/d' #{filename} > #{filename}.tmp"
system "mv #{filename}.tmp #{filename}"
これは機能しますが、ファイルが非常に大きいため、合計で約1時間かかります。コメントはファイルの先頭にのみあることは確かなので、ファイル全体でコメントを検索する必要はないので、これを行うにはもっと効率的な方法が必要だと思います。
現在の方法よりもはるかに高速に動作する限り、ソリューションが純粋なRubyを使用するのか、上記のようなシェルコマンドを使用するのかはあまり気にしません。