将变量从awk传递给PHP

时间:2013-01-28 20:41:58

标签: php awk

我试图将结果/变量从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变量。我可以从$avg var中返回的awk获得平均值,但是有以下问题。

的问题:

  1. 我想避免从awk命令本身回复到stdout的平均值?
  2. 如何从awk命令返回/存储多个变量,比如sum和avg?
  3. 感谢。

1 个答案:

答案 0 :(得分:1)

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

exec($cmd_to_run, $output);

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