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";

where$S_Date$E_Date是 PHP 变量。我可以从 var 中返回的 awk 获取平均值,$avg但是有以下问题。

问题:

  1. 我也想避免从 awk 命令本身将 avg 回显到标准输出?
  2. 如何从 awk 命令返回/存储多个变量,比如 sum 和 avg?

谢谢。

4

1 回答 1

1

您可能想改用exec
第二个参数允许您“捕获”命令的输出。

exec($cmd_to_run, $output);

注意:如果您只需要最后一行,$last = exec($cmd_to_run);就足够了。

于 2013-01-28T20:48:54.763 回答