0

我的问题与这个问题非常相似,只是我正在grep对多个find查询执行搜索。(我必须这样做,因为我必须将我的命令提交给实时服务器,并且我想尽可能少地修补它们。)

这是我的查询:

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 翻译问题,所以这可能是罪魁祸首......)

4

1 回答 1

2

我认为您需要将这两个-iname子句分组,如下所示:

find /c/some/dir/ \( -iname "*html" -o -iname "*tpl" \) -exec grep -inH 'search_string' {} \;

逻辑 or 具有较低的优先级,这意味着这些-exec位仅适用于您的-iname "*tpl"子句。

于 2013-03-25T18:23:57.397 回答