Я хочу рекурсивно проверить наличие двух конкретных файлов, таких как «hem» и «haw», и распечатать папки, содержащие оба файла.
find <top_folder> -name hem -o name haw -print
или
cd <top_folder> ls **/hem **/haw
Попробуйте Shellcheck -чистый код:
shopt -s globstar for hempath in ./**/hem ; do dir=${hempath%/*} [[ -e $dir/haw ]] && printf '%s\n' "$dir" done
globstar
**
${hempath%/*}
./**/hem
**/hem
./
.
printf
echo