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
.