J'utiliserais find dirname -not -empty -ls , en supposant que GNU trouve.
C'est un travail pour trouver ls n'est pas assez puissant.
find -maxdepth 1 -size +0 -print
-maxdepth 1 - cela indique à find de rechercher uniquement dans le répertoire actuel, de supprimer pour rechercher dans tous les sous-répertoires ou de modifier le nombre pour descendre de 2, 3 niveaux ou plus.
-size +0 cela indique à find de rechercher des fichiers dont la taille est supérieure à 0 octets. 0 peut être changé à n'importe quelle taille que vous voudriez.
-print indique à find d'imprimer le chemin complet vers le fichier qu'il trouve
Modifier :
Ajout tardif :Vous devriez probablement aussi ajouter le -type f interrupteur ci-dessus. Cela indique à find de ne trouver que des fichiers. Et comme indiqué dans les commentaires ci-dessous, le -print commutateur n'est pas vraiment nécessaire.
ls -l | awk '{if ($5 != 0) print $9}'
Si vous avez l'intention d'utiliser ls , vous avez besoin d'un peu d'aide de awk .