попробуйте это,
# Set the required vars
REQ_VARS=( var1 var2 var3 )
# Loop through all .nc files found by find command defined after "done"
while IFS= read -r f; do
ALL_VARS_FOUND=true
# Loop through required vars and check if the .nc file contains it
# If not, set ALL_VARS_FOUND to false and break the loop
for VAR in "${REQ_VARS[@]}"; do
ncinfo -v "$VAR" "$f" &> /dev/null || { ALL_VARS_FOUND=false; break; }
done
# Print the filename if ALL_VARS_FOUND is true.
[ $ALL_VARS_FOUND == true ] && echo "$f"
done < <(find . -name "*.nc")
Если у вас есть только одна переменная для проверки, вы можете использовать find -exec
VAR=var1
find . -name "*.nc" \
-exec sh -c 'ncinfo -v "$2" "$1" 1> /dev/null 2>&1' _ {} "$VAR" \; -print