我正在尝试通过~100个目录对URL进行不区分大小写的搜索。每个目录的结构是:
directory/
www
logs
cgi-bin
emailer
有时,trunk
或branches
代替www
,但这是唯一的区别。
如何为http://URL
优化我的grep以便更快地找到它?到目前为止,我有:
find . -maxdepth 2 -name "www" -exec grep -RliI "http://URL" {} \; >> ~/results.txt
但我想优化它,以便它不会击中这些特定的目录:
到目前为止我已经尝试过了:
find . -maxdepth 2 -name "www" -path -prune -o -name '*cache*' -exec grep -RliI "http://URL" {} \;
但它似乎没有修剪它吗?如何调整它以排除?
另请注意,grep
的版本已旧,因此不支持--exclude-dir
,否则我会使用它。
答案 0 :(得分:2)
尝试使用-not -path
而不是-prune
。
find . -maxdepth 2 -name "www" -not -path "*/cache/*" -not -path "*/images/*" -exec grep -RliI "http://URL" {} \;