这是我一直在使用的命令,用于在php文件中查找匹配(queryString),在当前目录中,使用grep,不区分大小写,并显示匹配的结果:
find . -iname "*php" -exec grep -iH queryString {} \;
还有一种方法也可以将匹配的文件名称管道到另一个脚本?
我可能会运行-exec命令两次,但这似乎效率不高.
在Mac OS X上我最想做的就是在finder中“显示”该文件.我想我可以处理那部分.如果我不得不放弃内联比赛,只是让grep显示文件名,然后把它传给第三个脚本,那也不错 – 我会解决.
但实际上我甚至不知道如何将输出(匹配的文件名)管道到其他地方…
帮帮我! 🙂
澄清
我想在finder窗口中显示每个文件 – 所以我可能不会使用-q标志,并在第一个停止.
我会在控制台中运行这个,理想情况下,我想看到在那里打印的内联匹配,以及能够将它们管道到另一个脚本,如oascript(applescript,以便在finder中显示它们).这就是为什么我一直在使用-H – 因为我喜欢看到文件名和匹配.
如果我不得不解决只使用-l,以便文件名可以更容易地被管道到另一个脚本,那也是可行的.但是,我认为,从@Charlie Martin看下面的答复后,xargs在这里同时可以使用一个单一的查找和单个grep命令来帮助你.
我没有说过bash,但是我不太明白,如果这需要作为/ bin / sh来运行 – 我不太了解这些差异,但我知道有一些重要的.
感谢大家的回应,我将在命令行中尝试一些,看看我能不能让任何人上班,然后我想我可以选择最好的答案.如果您希望我再澄清一下,请发表评论.
再次感谢!