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
.