2011-04-24 106 views
0

您好 我期待在文件前使用的关键字或搜索模式的一些脚本或程序。 php,html等,并显示这个文件在哪里寻找工具来搜索文件中的文本命令行

我使用命令cat/home/* | grep的“关键词” 但我有太多的文件夹和文件以及该命令会导致大的正常运行时间:/

我需要这个脚本来查找假冒网站(贝宝,易趣等)

回答

1
find /home -exec grep -s "keyword" {} \; -print 
+0

我非常喜欢你在dssheep.blogspot.com的帖子。感谢分享。 – shellter 2011-04-26 17:19:50

1

你不”真的说出你使用的是什么操作系统(和外壳)。你可能想重申你的问题来帮助我们。

因为你提到cat | ...,我假设你正在使用UNIX/Linux的变种,所以这里有一些指针在看文件。 (bmargulies解决方案也很好)。

我期待使用的关键字或搜索模式在文件

grep是搜索文件中的文本字符串构成的基本纲领的一些脚本或程序。它的用法是

grep [-options] 'search target' file1 file2 .... filen 

(请注意,“查找目标”中包含空格,如果不围绕在双或单引号您searchTarget空间,你将有一个小错误调试。)

(另外请注意,'搜索目标'可以使用各种各样的通配符,如。,?,+,,。等等,这超出了您的问题范围。 ...反正...

当我想你已经发现,你只能在同一时间进入COMAND在线塞进如此多的文件,使用通配符文件名扩展时也是如此。在Unix/Linux几乎总是有一个utiltiyt,可以与帮助,

startDir=/home 
find ${startDir} -print | xargs grep -l 'Search Target' 

这一点,因为一个人会很高兴地提醒你,还需要进一步的改进,如果你的文件名包含空格字符或换行符。


根据您使用的操作系统,可用于grep的选项可能会大不相同。如果你幸运的话,你可以输入以下内容来获得本地grep的手册页。

man grep 

如果你不具备大尺寸的页面缓冲区设置,你可能需要做

man grep | page 

,所以你可以看到“文件”的顶部。按任意键进入下一页,当您位于文档末尾时,最后一次按键返回到命令提示符。

,大多数里grep有可能是你

-i (ignore case) 
-l (list filenames only (where txt is found) 

还有fgrep一样,通常是interpretted意味“文件” grep的 监守你可以给它的搜索目标文件有用的一些选项扫描,并且使用像

fgrep [-other_options] -f srchTargetsFile file1 file2 ... filen 

我需要这个脚本来查找假冒网站(贝宝,EB AY等)

最终解决

你可以做一个像srchFile

paypal.fake.com ebay.fake.com etc.fake.com

和然后结合以上,运行以下内容

startDir=/home 
find ${startDir} -print | xargs fgrep -il -f srchFile 

一些greps要求-fsrchFile一起运行。

现在您正在查找所有以/ home开头的文件,在fgrep中搜索所有文件中的paypay,ebay等。 -l表示只打印找到匹配的文件名。您可以删除-l,然后您将看到发现的输出,并以文件名作为前缀。 IHD。

IHTH。

相关问题