查找,播放和排除目录

我想更改所有文件和目录的所有权,但排除一些目录:

find -user test ! -path "./dir1/*" ! -path "./dir2/*" -exec chown -R root:root {} \; 

排除的目录的所有权仍然改变?

问候

find . \( -path ./dir1 -o -path ./dir2 \) -prune -o -user test -exec chown root:root {} \;

就个人而言,为了性能的原因,我更喜欢:

find . \( -path ./dir1 -o -path ./dir2 \) -prune -o -user test -print0 | xargs -0 chown root

尝试这个:

 find . -user test | grep -v '^./dir1\|^./dir2' 

检查清单是否正确

 find . -user test | grep -v '^./dir1\|^./dir2' | xargs chown root:root 

做重命名。