#!/bin/bash
BASE_DIR="." # Change if needed
find "$BASE_DIR" -type d -path '*/linear/B3LYP_def2TZVP_D4' | sort | while read dir; do
xyz_files=($(find "$dir" -maxdepth 1 -type f -name '*.xyz' | sort))
if [ ${#xyz_files[@]} -gt 0 ]; then
echo -e "\n$dir: .xyz files found:"
for file in "${xyz_files[@]}"; do
echo " - $(basename "$file")"
done
else
echo -e "\n$dir: no .xyz file"
fi
done