我在unix(具有不同的名称)中有许多文件夹,它们都应该具有相同的几个文件名。我想找到没有特定文件的文件夹:
例如:
A/
-->a.dat
-->b.dat
-->c.dat
B/
-->a.dat
-->b.dat
-->c.dat
C/
-->a.dat
-->c.dat
在查找b.dat
文件时,如何确定C
文件夹没有该文件?
答案 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