1

さらに操作するために、awk コマンド (PHP から呼び出された) からの結果/変数を PHP スクリプトに戻そうとしています。以下は私のスクリプトです:

$cmd = "/usr/bin/awk '{if($1 >= \"$S_Date\" && $1 <= \"$E_Date\"){sum+=$5; row+=1}} END{avg=sum/row;print avg}' data.txt";
$avg = system($cmd);
echo "Avg: $avg\n";

ここで、$S_Date$E_Dateは PHP 変数です。$avgvarで返された awk から avg を取得できますが、次の問題があります。

問題:

  1. awk コマンド自体から、標準出力にも avg をエコーし​​ないようにしたいですか?
  2. awkコマンドから複数の変数を返す/保存する方法、合計と平均の両方を言う?

ありがとう。

4

1 に答える 1

1

代わりにexecを使用することをお勧めします。
2 番目のパラメーターを使用すると、コマンドの出力を「キャッチ」できます。

exec($cmd_to_run, $output);

注:最後の行だけが必要な場合は、$last = exec($cmd_to_run);十分です。

于 2013-01-28T20:48:54.763 に答える