Я пытаюсь отключить файл журнала в веб-интерфейсе. Файл большой, поэтому я должен его разбивать на страницы. Самый быстрый пример, который я пытался это использовать команды Linux в PHP:Файл журнала Grep и paginate
$fp = 'filename.txt';
$tmp = shell_exec("wc -l $fp"); // count lines
$from = 1;
$to = 100;
$text = shell_exec("sed -n '$from,{$to}p' $fp | tail -r");
это дает мне строки от 1 до 100 в обратном порядке, чтобы показать новый первый. Теперь я хотел бы изменить команду, чтобы разрешить поиск. Я планировал использовать команду Grep, но моя модификация не работает:
$text = shell_exec("grep 'searchstring' $fp | sed -n '$from,{$to}p' | tail -r");
Я хочу выполнить Grep на в то время как файл, а затем постраничной найденные строки. У меня плохое знание команд и труб Linux, поэтому я понятия не имею, как изменить его, чтобы он работал. Может ли кто-нибудь помочь? И также будет полезно, если вы могли бы помочь изменить команду wc -l
, чтобы считать только соответствующие строки. Благодарю.
Если вы собираетесь принять ввод пользователя, ** остерегайтесь инъекций оболочки **. Я имею в виду, что, если '$ fp =" -; rm -rf "'? –