当使用grep时,当您想要在包含多个PHP文件的文件夹中搜索文本时,使用哪些命令


What Commands to use, when using grep, when One Would Want To Search for a Text Inside A Folder with several PHP Files?

我想在php文件中搜索文本字符串。但是要进行搜索,我必须一个接一个地打开.php文件。

我不是程序员,但我正在自学。我正在编辑一个OpenCart主题。我还没有PHP编程技能。

如何命令grep (linux命令行)搜索一个文本字符串,这将做搜索为我和搜索所有的PHP文件包含在一个文件夹和子文件夹?

我正在寻找包含以下字符串的OpenCart PHP文件:

"目录/视图/javascript/jquery/tabs.js"、"目录/视图/javascript/jquery/colorbox/jquery.colorbox-min.js"

我目前使用的是Linux Mint,同时也使用windows xp。

如果你使用的是linux mint,打开你想要搜索的根文件夹,然后grep找到你想要在文件中找到的字符串:例如,如果你的项目在/var/www/yoursite,那么打开一个终端,输入:

cd /var/www/yoursite
grep -irl "catalog/view/javascript/jquery/tabs.js" *

这将显示当前工作目录内递归出现string的每个文件的列表。

Windows最简单的选项:UltraEdit的"在文件中查找"功能

在Windows、Mac和Linux上运行的其他程序(ide)也具有类似的功能,包括:

  • NetBeans
  • Aptana Studio
  • Eclipse

与UltraEdit不同的是,它是一个免费试用的商业程序,上面列出的其他程序都是免费的,并且也有更全面的PHP支持(如果你想要这些功能,请确保你下载了正确的版本或安装了他们提供的相应的PHP插件)。

否则,如果你不想安装任何新软件,@dave的答案可以在Linux和Mac上工作,如果你安装了Cygwin这样的工具,也可以在Windows上工作。

我使用Dreamweaver(商业版)或程序员记事本(免费版)。都支持在文件中搜索

ack's pretty:

ack -Q catalog/view/javascript/jquery/tabs.js

如果你愿意,也可以使用正则表达式:

ack 'catalog/view/javascript/jquery/[^.]+'.js'

默认情况下,ack将搜索所有有意义的文件(例如,文本文件,源文件…)。如果您想进一步将其限制为仅PHP文件,请在末尾加上--php