• ベストアンサー

文字列数の高速なカウント

あるファイルに入っている文字列をカウントする早い方法を探しています。 grep -c "sample"やawk '{if($1 ="sample") print}' |wc などを試していますが、巨大なファイルのためすごく時間がかかっています。 他に何か早く計算できる方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

grep -c "sample" が最速です。fgrep -c "sample" が幽かに早いかも知れませんが。 cp ファイル名 /dev/null を実行してみてください。それがファイルを全部読む時間で、ファイルを全部読む以上、それよりは速くなりません。

その他の回答 (1)

  • maiko04
  • ベストアンサー率17% (345/1956)
回答No.1

コマンドに対抗するなら(可能性ですけど) 自作してコンパイルしたもののほうが速いかもです。 コマンドは広い要求に対応したり、不用意に異常終了しないために データを確認しているところがありますのでこういう場合は冗長になります。 awkはコンパイルされずにインタプリタで実行されています。 (環境によります)

関連するQ&A