Tente isso usando xmllint com um xpath expressão:
#!/bin/sh
for xml in *.xml; do
bool=$(xmllint --xpath 'count(//*)=1 and string-length(//*[1])=1' "$xml")
if [ $bool = true ]; then
echo "$xml" >> xml_list_files
fi
done
cat xml_list_files
A expressão testa que o arquivo tem apenas um nó sem qualquer conteúdo de texto. Nesse caso, o comando retorna true