我需要在一个目录中递归地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()但是没有包含它的包含。
请帮助!!
答案 0 :(得分:2)
使用gnu grep:
find /path/to/directory -iname "*.php" | xargs egrep 'include|include_once'