Shell 对多个查找结果执行grep
我的问题与类似,只是我正在对多个Shell 对多个查找结果执行grep,shell,grep,cygwin,Shell,Grep,Cygwin,我的问题与类似,只是我正在对多个find查询执行grep搜索。(我必须这样做,因为我必须将命令提交给实时服务器,我希望尽可能少地修改它们。) 我的问题是: find/c/some/dir/-iname“*html”-o-iname“*tpl”-exec grep-inH'search_string'{}\ 使用-o选项,grep搜索返回文件中以tpl结尾的所有“search_string”实例。它完全忽略了我传入的html扩展 有人遇到过这种情况吗?我如何告诉find在html和tpl扩展上执行
find
查询执行grep
搜索。(我必须这样做,因为我必须将命令提交给实时服务器,我希望尽可能少地修改它们。)
我的问题是:
find/c/some/dir/-iname“*html”-o-iname“*tpl”-exec grep-inH'search_string'{}\代码>
使用-o选项,grep搜索返回文件中以tpl结尾的所有“search_string”实例。它完全忽略了我传入的html扩展
有人遇到过这种情况吗?我如何告诉find在html和tpl扩展上执行grep
(我正在运行Cygwin,它在过去有一些Windows翻译问题,因此这可能是一个罪魁祸首…我认为您需要对两个-iname
子句进行分组,如下所示:
find /c/some/dir/ \( -iname "*html" -o -iname "*tpl" \) -exec grep -inH 'search_string' {} \;
逻辑or的优先级较低,这意味着-exec
位仅适用于-iname“*tpl”
子句。你的意思是“*.html”
对吧?是的,你完全正确,所以请解决这些问题,然后重试。哦,我误解了你的评论。“html”是“.html”的超集,因此它将捕获html扩展名等。(例如,它将捕获xhtml等。)这是我的想法,但我不知道这些语句是如何解析的。我现在就试试这个,如果合适的话,我会接受答案。谢谢