查找没有特定文件的文件夹

时间:2013-02-06 18:49:44

标签: shell unix scripting

我在unix(具有不同的名称)中有许多文件夹,它们都应该具有相同的几个文件名。我想找到没有特定文件的文件夹:

例如:

A/
-->a.dat
-->b.dat
-->c.dat
B/
-->a.dat
-->b.dat
-->c.dat
C/
-->a.dat
-->c.dat

在查找b.dat文件时,如何确定C文件夹没有该文件?

1 个答案:

答案 0 :(得分:3)

遍历每个目录,如果它没有您要查找的文件,请将其添加到结果列表中。

使用上面给出的文件结构,这个脚本:

#!/bin/bash

result=()
for D in *; do
    if [ -d "${D}" ] && ! [ -f "${D}/b.dat" ]; then
        result+=("${D}")
    fi
done

echo "result is" "${result[@]}"

打印:

result is C