Моя команда awk работает так, как ожидалось, и возвращает 2 строки в командной строке.
Когда я использую функцию php «exec», она возвращает только вторую строку.
echo exec("awk -v RS=\",\" '/some_text/' test1.html");
Как вернуть весь вывод команды оболочки с помощью PHP?
Если выходной аргумент присутствует, то указанный массив будет заполнен каждой строкой вывода из команды. Пронумерованные пробелы, такие как \ n, не включаются в этот массив. Обратите внимание: если массив уже содержит некоторые элементы, exec () добавит в конец массива. Если вы не хотите, чтобы функция добавляла элементы, вызовите функцию unset () в массиве, прежде чем передать ее в exec ().
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; }