我目前正在使用 Drupal,并且很难搜索各种 .module 文件的内容。例如,我想搜索类似“ div style="border: 1px solid red;
”的内容并找出它所在的文件。
我所有的代码编辑器都会在他们的搜索中忽略 .module 文件,因为它是一个奇怪的扩展名。Windows 不会这样做,因为它位于联网位置。
有任何想法吗?
我目前正在使用 Drupal,并且很难搜索各种 .module 文件的内容。例如,我想搜索类似“ div style="border: 1px solid red;
”的内容并找出它所在的文件。
我所有的代码编辑器都会在他们的搜索中忽略 .module 文件,因为它是一个奇怪的扩展名。Windows 不会这样做,因为它位于联网位置。
有任何想法吗?
ack可以很高兴地为您做到这一点。为了更方便,您还可以在.ackrc
文件中添加以下内容:--type-set=drupal=.php,.inc,.module,.install,.info,.engine --type=drupal
所以打字
$ ack string
将string
在当前目录下的所有 drupal 文件中找到。
(是的,它在 Windows 上运行,请参阅链接)。
安装Cygwin,在您的 Drupal 站点目录中打开一个 shell,然后使用grep
--- 命令行实用程序使用正则表达式搜索文件。
像这样的东西:
grep -r 'div style="border: 1px solid red;"' *
将递归地在每个文件中搜索该字符串。
或者:
find . -name '*.module' -exec grep -H 'div style="border: 1px solid red;"' {} \;
只会搜索.module
文件。
我做什么:
使用 firebug,它会告诉您确切的文件,然后您可以浏览系统以找到该样式。您需要暂时关闭 CSS 缓存。
通常,在 .module 文件中定义的 CSS 规则不会太多(或不应该有)。
如果所有其他方法都失败了,您可以使用Agent Ransack之类的东西,或者,为了获得更多命令行 unixy 的感觉,命令行搜索之王:grep。