grep文件在unix中具有特定单词的功能

时间:2014-04-01 10:37:48

标签: php bash unix

我需要在一个目录中递归地grep所有文件,这些目录的函数有" include"或" include_once"在其中呼吁的声明。

尝试以下选项,但没有运气:

grep -ir "function.*\n*.*include" *
grep -ir "function.*[[space]]*.*include" *

*请注意,我需要带有包含声明

的任何功能定义的文件

应该在grep中找到的示例文件说:" testgrep.php":

<?php function getData() { $myobj = new MAIN_TABLE(); include("connections_db.php"); getConnection();// Defined in connections_db.php $result= $myobj->getData(); } ?&GT;

因此这个文件有一个函数getData(),其中包含了include。

在grep中找不到的示例文件说:&#34; testnegativegrep.php&#34;:

<?php include("connections_db.php"); function getData() { $myobj = new MAIN_TABLE(); getConnection();// Defined in connections_db.php $result= $myobj->getData(); } ?&GT;

因此这个文件有一个函数getData()但是没有包含它的包含。

请帮助!!

1 个答案:

答案 0 :(得分:2)

使用gnu grep:

find /path/to/directory -iname "*.php" | xargs egrep 'include|include_once'