查找包含文件的文件夹

查找包含文件的文件夹

如何找到包含给定文件的所有子文件夹?

例如,在 Minecraft 服务器安装中,不同的世界存储在具有任意名称的子文件夹中。为了确定给定的文件夹代表一个世界,我必须level.dat在其中寻找。是否有一个命令可以查找所有level.dat文件并返回包含它们的文件夹?

答案1

只需找到您的文件并返回目录名:

find -name 'level.dat' -exec dirname {} \;

答案2

或者,找到您的文件并批量提取目录名称:

find 起始目录 –name level.dat –print | sed 's@/level.dat$@@'

答案3

    find ~ -type f -name "level.dat" -printf '%h\n'

如果可能有多个具有该名称的文件,则通过管道传输到uniq

答案4

您可以用来find仅打印通过特定测试的文件。我喜欢这种方法:

find . -type d -execdir test -f {}/level.dat \; -print

这会找到所有包含名为level.dat.

相关内容