列出不同文件夹下同名的所有文件

列出不同文件夹下同名的所有文件

我的代码中的不同位置有不同的文件夹,名称为“templates”。我需要列出文件夹中名为“templates”的所有文件

答案1

这将找到当前目录下所有名为“templates”的目录并列出其中的所有文件

find -name 'templates' -type d -execdir ls {} \;

答案2

文件夹内的所有文件templates,递归:

find . -path '*/templates/*'

如果你不想要文件夹子目录中的文件templates(当然除了那些templates/foo/templates/bar),你可以使用-regex一些find实现的扩展名:

find . -regex '.*/templates/[^/]*'

如果你只想常规的文件,添加-type f.对于除目录之外的任何类型的文件,! -type d.

如果您只关心文件名而不关心通向它们的路径,则使用 GNU find,添加 a -printf '%f\n'(并且可能通过管道连接到sort -u,假设文件名不包含换行符,以获得唯一的名称)。

相关内容