我的awk命令按预期工作,并在命令提示符处返回2行。
当我使用php“exec”函数时,它只返回第二行。
echo exec("awk -v RS=\",\" '/some_text/' test1.html");
如何使用PHP返回shell命令的所有输出?
答案 0 :(得分:18)
如果存在输出参数,则指定的数组将填充命令的每一行输出。尾随空格(例如\ n)不包含在此数组中。请注意,如果数组已包含某些元素,则exec()将附加到数组的末尾。如果您不希望函数附加元素,请在将数组传递给exec()之前调用数组上的unset()。
http://php.net/manual/en/function.exec.php
$out = array();
exec("awk -v RS=\",\" '/some_text/' test1.html", $out);
foreach($out as $line) {
echo $line;
}