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
.