在 unix/linux 系统中,PHP 中是否有这样一个函数可以执行 grep -f 文件名。 如果没有,哪些 PHP 函数/工具将有助于为此创建自定义方法/函数。谢谢!
最佳答案
实际上恕我直言,我想说的是:
$result = preg_grep($pattern, file($path));
参见 preg_grep
Docs和 file
Docs .
如果您需要(递归地)对一组文件执行此操作,还有 glob
和 foreach
或 (Recursive
)DirectoryIterator
或 GlobIterator
Docs不要忘记 RegexIterator
Docs .
SplFileObject 和 RegexIterator 示例:
$stream = new SplFileObject($file);
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
输出(包含 $pattern 的 $file
的所有行):
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
关于php - grep with -f 就像在 PHP 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663641/