爆速で find + grep する (xargs使用)

爆速で (速いとは言ってない)

AWS EC2 の m1.large インスタンスでやったら、load average: 54.75, iowait: 99% くらい逝って、 SSHログインすらできなくなったので要注意な!!!

前提条件

おそらく GNU版 xargs のみ

方法

xargs に -P 0 オプションをつける

find -type f -iname "*.php" | xargs -P 0 grep "hogehoge"

max-procs=0 ??

可能な限り並列処理してくれる、最高にイカしたヤツ。 上記の例だと、grepのプロセスがたくさん増殖するゾ。

$ man xargs
    .
    .
    .
       -P max-procs, --max-procs=max-procs
              Run up to max-procs processes at a time; the default is 1.  If max-procs is 0, xargs will run as many processes as possible at a time.
    .
    .
    .