Wie nicht leere Unterverzeichnisse auf Linux zur Liste?
Frage
Ich habe ein Verzeichnis mehrere Verzeichnisse enthalten. Ich möchte nur die Unterverzeichnisse auflisten, die mindestens eine Datei enthalten. Wie kann ich das tun?
Lösung
find . -mindepth 1 -maxdepth 1 -not -empty -type d
werden Sie alle nicht leere Verzeichnisse. Wenn Sie ausschließen Verzeichnisse möchten, die nur andere Verzeichnisse enthalten (aber keine Dateien), eine der anderen Antworten könnte besser sein ...
Andere Tipps
find . -type f -print0 | xargs -0 -n 1 dirname | sort -u
Wie wäre:
find /nominated/directory -type f |
sed 's%/[^/]*$%% |
sort -u
Dateien suchen - drop Dateinamen Teil -. Art einzigartig
Es wird nicht Verzeichnisse auflisten, die nur andere Unterverzeichnisse enthalten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow