Ich würde find dirname -not -empty -ls
verwenden , unter der Annahme von GNU find.
Dies ist ein Job für find ls ist nicht leistungsfähig genug.
find -maxdepth 1 -size +0 -print
-maxdepth 1
- Dies weist find an, nur das aktuelle Verzeichnis zu durchsuchen, remove, um in allen Unterverzeichnissen zu suchen, oder die Nummer zu ändern, um 2, 3 oder mehr Ebenen nach unten zu gehen.
-size +0
Dies weist find an, nach Dateien mit einer Größe von mehr als 0
zu suchen Bytes. 0
kann auf jede gewünschte Größe geändert werden.
-print
weist find an, den vollständigen Pfad zu der gefundenen Datei auszugeben
Bearbeiten:
Späte Ergänzung:Sie sollten wahrscheinlich auch die -type f
hinzufügen Schalter oben. Dies weist find an, nur Dateien zu finden. Und wie in den Kommentaren unten erwähnt, der -print
Schalter wird nicht wirklich benötigt.
ls -l | awk '{if ($5 != 0) print $9}'
Wenn Sie beabsichtigen, ls
zu verwenden , brauchen Sie ein wenig Hilfe von awk
.