Dan McG tem a ideia certa. Isso funciona:
find . -type d -links 2 -exec sh -c '[ -z "$(ls -UA "$1/" )" ]' dummy {} \; -print
-links 2 economiza tempo excluindo diretórios com subdiretórios, porque se o AIX for como a maioria dos sistemas Unix, os únicos links que um diretório pode ter são os próprios. entrada, e as entradas .. em seus subdiretórios.
ls -UA não se preocupa em classificar (-U), e não precisa fazer o stat dos arquivos, apenas mostra o que obtém do readdir, então não é tão ruim. -A omite. e ..., portanto, se a saída for a string vazia, o diretório estava vazio.
Se você está invocando sh -c de qualquer maneira, você poderia fazer o que você precisa por diretório vazio no sh, ao invés de usar a saída do find -print0. É muito ruim que a descoberta não-GNU não tenha -exec {} + (ou seja, xargs embutidos).
Talvez, se você processar a saída de localização, possa fazê-lo com mais eficiência. por exemplo. se você ver dois diretórios em uma linha sem um arquivo, então você tem um diretório vazio? não é tão lento rodar sh -c e ls para todos os diretórios.