Используйте find с test -e your_file, чтобы проверить, существует ли файл. Например, вы ищете каталоги, у которых нет в них cover.jpg:
find base_dir -mindepth 2 -maxdepth 2 -type d '!' -exec test -e "{}/cover.jpg" ';' -print
Однако это чувствительно к регистру.
Вы не уверены в этом случае, а расширение может быть jPg, png ...
find base_dir -mindepth 2 -maxdepth 2 -type d '!' -exec sh -c 'ls -1 "{}"|egrep -i -q "^cover\.(jpg|png)$"' ';' -print
Другие примеры шаблонов поиска для egrep:
Подставьте часть egrep -i -q "^cover\.(jpg|png)$":
] Для каждой директории необходимо создать оболочку sh, поскольку при использовании find egrep -q "^cover\.(jpg|png)$" невозможно выполнить трубку: совпадения cover.png, cover.jpg, но NOT Cover.jpg ( чувствительность к регистру не отключена). ls -1 "{}" выводит только имена файлов каталога find в настоящее время перемещаютсяДля получения дополнительной информации об этом, проверьте Регулярные выражения.