我需要列出所有包含CACHEDIR.TAG文件的目录,或者列出所有不包含的目录。到目前为止,我想出了
find ~ -type d -exec test -f {}/CACHEDIR.TAG ';' -print
和
find ~ -type d -exec test -f {}/CACHEDIR.TAG ';' -prune -o -type d -print
但是,test -f ...
感觉有点麻烦,并且调用每个目录都会使其非常缓慢。例如,在我的测试目录上它需要 30 多秒,而普通find ~ -type d
只需要不到 1 秒(在所有内容都缓存到内存后进行测试)。
有人知道更好/更快的解决方案吗?