![在 UNIX 查找中排除所有隐藏目录](https://linux22.com/image/1320053/%E5%9C%A8%20UNIX%20%E6%9F%A5%E6%89%BE%E4%B8%AD%E6%8E%92%E9%99%A4%E6%89%80%E6%9C%89%E9%9A%90%E8%97%8F%E7%9B%AE%E5%BD%95.png)
我正在使用以下命令进行单词搜索:
find . -exec grep -q [some_word] '{}' \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune
是否可以使用正则表达式排除所有隐藏目录?
注意:当前命令从当前位置遍历整个树并排除那些被修剪的目录。排除需要适用于任何隐藏目录,无论其位于何处。
答案1
你想要的regex
旗帜是find
:
find . \( ! -regex '.*/\..*' \) -exec grep -q [some_word] {} \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune
另外,请阅读手动的。