我的代码中的不同位置有不同的文件夹,名称为“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
,假设文件名不包含换行符,以获得唯一的名称)。