php - 使用 grep 在目录中的所有文件中搜索字符串的实例,使用 PHP bash 脚本

标签 php linux grep

我正在编写一个 PHP 命令行脚本,我想知道是否有任何 grep 专家可以帮助我想出一个命令来执行以下操作:

对于当前目录($curDir)中所有以 .java 结尾的文件,在文件中搜索 $str 的任何实例,并返回一个指示符,以确定是否找到任何实例。

我试过从互联网上找到的各种位拼凑一个 grep 命令,但是,之前没有真正使用过 grep,拼凑起来有点困难。如果有任何帮助,我将不胜感激。

谢谢!

最佳答案

这应该可以解决问题:

exec("grep '$str' *.java", $output_array);

如果您希望它只输出文件名,请使用-l。其他 grep 选项可以在这里找到:
http://unixhelp.ed.ac.uk/CGI/man-cgi?grep

根据 $str 是什么你可能需要传递它:escapeshellarg():
http://www.php.net/manual/en/function.escapeshellarg.php

关于php - 使用 grep 在目录中的所有文件中搜索字符串的实例,使用 PHP bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046295/

相关文章:

c++ - 从 std::vector<std::string>> 中删除元素

linux - 如何在 vi 编辑器或 linux 中查找和删除两个文件中的重复行

macos - 管道后找不到命令

linux - Apache 站点启用

php - Rabbitmq - php amqp broken broken pipe 错误

php - 如何在 DDEV-Local 中安装 SQL Server PHP 驱动程序?

php - 将 PHP 电子邮件添加到包含使用 AJAX 调用终止代码发送的信息的文件中

linux - Ubuntu Natty 上的 Memcached 集群

linux - 如何在 unix 操作系统中搜索文件中不包含特定字符串的行?

php - 计算 get_define_vars 中的变量数量