Použil bych find dirname -not -empty -ls , za předpokladu GNU find.
Toto je úkol, protože najít ls není dostatečně výkonný.
find -maxdepth 1 -size +0 -print
-maxdepth 1 - to říká, že find má hledat pouze v aktuálním adresáři, remove prohledávat všechny podadresáře nebo změnit číslo a jít o 2, 3 nebo více úrovní dolů.
-size +0 to říká find, aby hledal soubory o velikosti větší než 0 bajtů. 0 lze změnit na libovolnou velikost.
-print řekne find, aby vytiskl celou cestu k souboru, který najde
Upravit:
Pozdní přidání:Pravděpodobně byste také měli přidat -type f přepínač výše. To říká find, aby našel pouze soubory. A jak je uvedeno v komentářích níže, -print přepínač ve skutečnosti není potřeba.
ls -l | awk '{if ($5 != 0) print $9}'
Pokud máte v úmyslu použít ls , potřebujete malou pomoc od awk .