Userei find dirname -not -empty -ls
, supponendo che GNU find.
Questo è un lavoro per find ls non è abbastanza potente.
find -maxdepth 1 -size +0 -print
-maxdepth 1
- questo dice a find di cercare solo nella directory corrente, remove per cercare in tutte le sottodirectory o cambia il numero per scendere di 2, 3 o più livelli.
-size +0
questo dice a find di cercare file con dimensioni maggiori di 0
byte. 0
può essere modificato in qualsiasi dimensione desideri.
-print
dice a find di stampare il percorso completo del file che trova
Modifica:
Aggiunta tardiva:probabilmente dovresti aggiungere anche il -type f
passare sopra. Questo dice a find di trovare solo i file. E come notato nei commenti qui sotto, il -print
switch non è realmente necessario.
ls -l | awk '{if ($5 != 0) print $9}'
Se intendi usare ls
, hai bisogno di un piccolo aiuto da awk
.