• 締切
  • 困ってます

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

  • 質問No.9754264
  • 閲覧数84
  • ありがとう数0
  • 回答数2

お礼率 25% (3/12)

あるファイルに入っている文字列をカウントする早い方法を探しています。
grep -c "sample"やawk '{if($1 ="sample") print}' |wc

などを試していますが、巨大なファイルのためすごく時間がかかっています。
他に何か早く計算できる方法はないでしょうか?

回答 (全2件)

  • 回答No.2

ベストアンサー率 47% (4573/9572)

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

ベストアンサー率 18% (312/1717)

コマンドに対抗するなら(可能性ですけど)
自作してコンパイルしたもののほうが速いかもです。

コマンドは広い要求に対応したり、不用意に異常終了しないために
データを確認しているところがありますのでこういう場合は冗長になります。

awkはコンパイルされずにインタプリタで実行されています。
(環境によります)
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ