1

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

例如:

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

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

4

1 回答 1

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
于 2013-02-06T19:05:59.663 回答