使用find列出文件但不在列出的目录中

时间:2014-11-17 16:04:29

标签: bash find

我找到了一个很好的命令,列出了不属于myUser的文件:

find . ! -user myUser

输出如下:

A
A/AA.txt
B
B/BB
B/BB/BBB.txt
C/CC/CCC.txt
D

文件的扩展名为.txt。

这对于我想做的事情来说有点过于冗余(在这些文件上应用chown -R)。 我想使用find作为起点,以这样的列表结束:

A
B
C/CC/CCC.txt
D

换句话说,我想找到不属于myUser的任何条目(文件/目录), 并且它没有嵌套在已经列出的条目中。

在这种情况下,

-maxdepth不是一个选项,因为我不确定顶层文件夹的组织。

1 个答案:

答案 0 :(得分:3)

尝试此命令:

find . ! -user myUser -prune
  • -prune是的;如果文件是目录,请不要进入该目录。