find -print 始终打印起始目录

find -print 始终打印起始目录

我正在尝试计算在包含 500K 文件的目录下递归有多少个文件和文件夹find(注意:递归地在下面)。我正在使用以下命令:

find my_folder -name '*' -print | wc -l

但在运行第一部分时我注意到一些奇怪的事情:

find my_folder -name '*' -print

my_folder它总是在第一行首先打印文件夹名称(在本例中)。这在我的第一个命令中将文件计数增加了一个

这是为什么?我怎样才能避免这种情况并确保 find 只打印下面的内容my_folder

答案1

它与目标目录匹配,因为模式*..既然你正在寻找文件,您应该添加-type f, 以仅匹配文件。

find my_folder -type f

如果有GNU find,您还可以使用-mindepth 1来阻止.匹配。

find my_folder -mindepth 1

答案2

如果你真的只想要文件,你可以使用-type f.-mindepth 1会阻止仅匹配命令行上给出的目录。

相关内容