4

ディレクトリ内の一連のファイルのコンテンツをフィルタリングし、そのようなコマンドを使用して最初の n 行のみを出力しようとしています:

gzip -dc $(find %pathtofolder%) | grep 27990 | head -n 50

ターミナルでこのコマンドを実行すると、完了するまでに数秒かかります。しかし、PHP から実行すると、ファイルの合計サイズが非常に大きいため、ほぼ 1 時間かかります。gzip コマンドが終了するまで php が待機しているようです。しかし、単純に実行すると:

gzip -dc $(find /opt/data/bi/ets/20130616) | head -n 50

すぐに結果が得られます。逆引用符、実行、システムを試しました。

ここにphpコードがあります:

$cmd = 'gzip -dc $(find '.$path.' | grep -E "'.$regexp.'") | grep -E "'.$this->_buildRegExp().'" | head -n '.$r['limit'];
$res = `$cmd`;

これを修正する方法は?

4

1 に答える 1