【发布时间】:2020-03-12 16:04:21
【问题描述】:
在 linux 中执行 find 时,我试图排除隐藏文件和文件夹。
我必须排除以点 (.hidden) 开头的文件或文件夹,但也必须排除以 @ 开头的文件夹(如 @eaDir)。
到目前为止,我有以下命令似乎有效,但也许有更优雅的方式?
find /path/to/start/search/ -not -path '*@eaDir*' -not -path "*/\.*" -type f -mtime -2
我确实看到了使用正则表达式的示例:
find . \( ! -regex '.*/\..*' \) -type f
但不确定如何使用 -regex 选项排除 @eaDir 目录?
我相信也可以有以两个点开头的隐藏文件?像“..隐藏”?这是否已经包含在我的命令中,还是我会简单地添加第三个选项,如 -not -path "*/\..*" 来排除这些?
然后我看到了一些使用-prune 的示例,以便 find 不会下降到隐藏目录中,但是我不确定如何在我的示例中使用此正确性。我会对此感兴趣以加快速度。
谢谢!
【问题讨论】: