grep с -f как в PHP

Есть ли такая функция в PHP, которая делает grep -f filename в системах unix / linux. Если их нет, то какие PHP-функции / инструменты помогут создать для него настраиваемый метод / функцию. Благодаря!

На самом деле ИМХО, я бы сказал, что это следующее:

$result = preg_grep($pattern, file($path)); 

См. Документы и file документов preg_grep .

Если вам нужно сделать это (рекурсивно) по набору файлов, есть также glob и foreach или ( Recursive ) DirectoryIterator или GlobIterator Docs и не забыть Документы RegexIterator .


Пример с SplFileObject и RegexIterator :

 $stream = new SplFileObject($file); $grepped = new RegexIterator($stream, $pattern); foreach ($grepped as $line) { echo $line; } 

Вывод (все строки $file содержащие $ pattern):

 $grepped = new RegexIterator($stream, $pattern); foreach ($grepped as $line) { echo $line; } 

Демо: https://eval.in/208699

Вы можете комбинировать функцию file_get_contens (), чтобы открыть файл и функцию preg_match_all () для захвата содержимого с помощью регулярного выражения.

 $file = file_get_contents ('path/to/file.ext'); preg_match_all ('regex_pattern_here', $file, $matches); print_r ($matches);