PHP中是否有这样的函数在unix/linux系统中执行grep -f filename。
如果不存在,那么哪些PHP函数/工具将有助于为此创建定制的方法/函数。谢谢!
最佳答案
实际上,恕我直言,我要说的是以下内容:
$result = preg_grep($pattern, file($path));
参见
preg_grep
和 file
。如果您需要对一组文件进行递归操作,则还有
glob
和foreach
或(Recursive
)DirectoryIterator
或 GlobIterator
,并且不要忘记 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