grep with -f like in PHP(使用 -f 的 grep 就像在 PHP 中一样)
问题描述
PHP 中是否有这样的函数在 unix/linux 系统中执行 grep -f filename.如果没有,什么 PHP 函数/工具将有助于为此创建自定义方法/函数.谢谢!
Is there such a function in PHP that does grep -f filename in unix/linux systems. If there is none, what PHP functions/tools would help in creating a customised method/function for this. Thanks!
推荐答案
实际上恕我直言,我想说的是以下内容:
Actually IMHO, I'd say it's the following:
$result = preg_grep($pattern, file($path));
参见preg_grep
文档 和 file
文档.
如果您需要对一组文件(递归地)执行此操作,还有 glob
和 foreach
或 (Recursive
)DirectoryIterator
或 GlobIterator
Docs 并且不要忘记 RegexIterator
文档.
If you need to do that (recursively) over a set of files, there is also glob
and foreach
or the (Recursive
)DirectoryIterator
or the GlobIterator
Docs and not to forget the RegexIterator
Docs.
SplFileObject 和 RegexIterator 的示例:
$stream = new SplFileObject($file);
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
输出(所有包含 $pattern 的 $file
行):
Output (all lines of $file
containing $pattern):
$grepped = new RegexIterator($stream, $pattern);
foreach ($grepped as $line) {
echo $line;
}
演示:https://eval.in/208699
这篇关于使用 -f 的 grep 就像在 PHP 中一样的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 -f 的 grep 就像在 PHP 中一样
基础教程推荐
- PHP 守护进程/worker 环境 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01