Usaría find dirname -not -empty -ls , suponiendo que GNU encuentre.
Este es un trabajo para encontrar que ls no es lo suficientemente potente.
find -maxdepth 1 -size +0 -print
-maxdepth 1 - esto le dice a find que busque solo en el directorio actual, quite para buscar en todos los subdirectorios o cambie el número para bajar 2, 3 o más niveles.
-size +0 esto le dice a find que busque archivos con un tamaño mayor que 0 bytes 0 se puede cambiar a cualquier tamaño que desee.
-print le dice a find que imprima la ruta completa al archivo que encuentra
Editar:
Adición tardía:probablemente también debería agregar el -type f cambiar arriba. Esto le dice a find que solo busque archivos. Y como se indica en los comentarios a continuación, el -print el interruptor no es realmente necesario.
ls -l | awk '{if ($5 != 0) print $9}'
Si tiene la intención de usar ls , necesitas un poco de ayuda de awk .