Ich habe ein Verzeichnis mit mehreren Unterverzeichnissen. Ich möchte nur die Unterverzeichnisse auflisten, die mindestens eine Datei enthalten. Wie kann ich das machen?Wie listet man nicht-leere Unterverzeichnisse auf Linux auf?
Antwort
find . -mindepth 1 -maxdepth 1 -not -empty -type d
geben Ihnen alle nicht leere Verzeichnisse. Wenn Sie Verzeichnisse ausschließen möchten, die nur andere Verzeichnisse (aber keine Dateien) enthalten, könnte eine der anderen Antworten besser sein ...
Die Optionen -mindepth und -maxdepth beschränken dies nur auf die unmittelbaren Unterverzeichnisse. Passen Sie diese an, um zu bestimmen, auf welcher Ebene Ergebnisse zurückgegeben werden. Wenn Sie sie auslassen, werden alle Unterverzeichnisse auf jeder Ebene gefunden. – Naaff
und denken Sie daran, dass es sich nicht um GNU-Zeug handelt. Um tragbar zu sein, verwenden Sie! statt -nicht (wirklich; ich sehe nicht, warum du nicht immer nur benutzen würdest! statt -nicht, da -nicht gibt dir überhaupt keinen Vorteil) – lhunath
Weil! Sieht so aus, als ob es ein Shell-Metazeichen sein sollte und ich kann mich nie erinnern, ob ich es zitieren muss oder nicht ;-), aber du hast recht damit, dass es tragbarer ist. (Ich denke, seit diese Antwort akzeptiert wurde, funktioniert GNU-spezifische Syntax für das OP) –
Wie wäre:
find /nominated/directory -type f |
sed 's%/[^/]*$%% |
sort -u
Dateien finden - drop Dateiname Teil - Art einzigartig.
Es werden keine Unterverzeichnisse aufgelistet, die nur andere Unterverzeichnisse enthalten.
find . -type f -print0 | xargs -0 -n 1 dirname | sort -u
aufgelistet ist. Etwas kürzere Syntax für das gleiche: find. -type f -exec Verzeichnisname {} \; | Sortierung -u –
Entsetzlich leid. Ein unübertroffenes einzelnes Zitat verursachte frühe Beendigung. Total meine Schuld. –
- 1. Linux rekursive chmod nur auf Unterverzeichnisse
- 2. Wie listet man Verzeichnisse schneller auf?
- 3. Wie listet man Arten im Datenspeicher auf?
- 4. Wie listet man SolrCloud Aliase auf?
- 5. Wie listet man alle Verzeichnisse rekursiv auf?
- 6. Wie listet man alle Git-Tags auf?
- 7. Wie listet man Objektschlüsselnamen mit jsonpath auf?
- 8. Wie listet man Tabs in vim auf?
- 9. Wie listet man die konfigurierten Repositories auf?
- 10. Wie listet man ein Array zeilenweise auf einer JTextArea auf?
- 11. Linux find: Listet alle Grafikdateien mit find auf?
- 12. Wie listet man Dateien mit DOS-Befehlen auf?
- 13. Wie listet man alle Lesezeichen in NERDTree von VIM auf?
- 14. Wie listet man Aktivitäten auf, die einer Absicht entsprechen?
- 15. Wie listet man die Dateien im aktuellen Verzeichnis auf?
- 16. Wie listet man die Verwendung benutzerdefinierter Seitenvorlagen auf?
- 17. Wie listet man die laufenden Prozesse in C auf?
- 18. Dropbox - Wie listet man Dateien innerhalb des Verzeichnisses auf?
- 19. Wie listet man die verfügbaren Plugins in Gradle auf?
- 20. BIRT - Wie listet man den Inhalt der Variablen auf
- 21. Titan db wie listet man alle graphischen Indexe auf
- 22. Wie listet man alle Umgebungsvariablen in Vim auf?
- 23. Wie listet man die Dateien in einem statischen Verzeichnis auf?
- 24. Actionscript3: Wie listet man die Pixel einer Form auf?
- 25. Wie listet man alle X11-Fenster mit Gtk3 auf :: Gdk
- 26. Wie listet man die eingereihten Artikel in Sellerie auf?
- 27. Wie listet man alle Elemente einer Anwendung auf?
- 28. Wie listet man alle verfügbaren Gebietsschemata in Rails auf?
- 29. Wie listet man in bash deklarierte Variablen auf?
- 30. Wie listet man die Eigenschaften der Bean auf
Wollte Sie nur Verzeichnisse, die direkte Unterverzeichnisse Ihres Verzeichnisses sind, oder * alle * Unterverzeichnisse nicht egal wie tief verschachtelt? – Naaff
Wenn ein Unterverzeichnis andere Unter-Unterverzeichnisse aber keine Dateien enthält, möchte ich nicht, dass es – Jaelebi