我有一个要求,需要验证嵌套文件夹结构。
例如:我有 3 个文件夹:test1、test2、test3(实际上可以有任意数量的此类文件夹)。现在所有这些文件夹都应包含类似 V1、V2... 的文件夹(“V”后跟数字)。在此文件夹(V1...)下,应该只有两个文件夹名称“dummy1”和“dummy2”。
因此,所有这些检查都应递归进行,直到检查完所有文件夹(如 test 1...test2...)。
答案1
您可以使用寻找命令。 find 会遍历目录结构,对每个文件/目录执行操作。 您可以使用 -type 标志将其限制为目录。
find start_dir -type d -print
为了真正验证所有内容是否都具有结构,我认为您必须编写一个脚本来查看此列表 - 并且我认为您必须使用比 shell 更强大的脚本语言来执行此操作,例如 perl、python、ruby、tcl。
答案2
答案3
阳性检测:
find test* -maxdepth 1 -type d -regex ".*/V[0-9]+"
find test* -mindepth 2 -maxdepth 2 -type d -regex ".*/V[0-9]+/dummy[12]"
阴性测试:
find test* -maxdepth 1 -type d -not -regex ".*/V[0-9]+"
find test* -mindepth 2 -maxdepth 2 -type d -not -regex ".*/V[0-9]+/dummy[12]"
答案4
尝试使用以下命令:
find . -name dummy1 -exec echo "Hello, '{}'" \;
find . -name dummy2 -exec echo "Hello, '{}'" \;
这将提供与 PWD 一起的输出。