2013-02-12 13 views

Antwort

21

Sie find verwenden können

find . -type d > output.txt 

oder tree

tree -d > output.txt 

tree , Wenn nicht auf Ihrem System installiert m.

sudo apt-get install tree 
+0

In dieser Option gibt es eine Option, einen einzelnen Ordner auszuschließen ... Ich habe eine ~ Schnappschuss-Ordner darin, die ich ausschließen möchte? – Sandeep540

+0

finden. -type d -name ~ snapshot -prune> output.txt – Sandeep540

+0

Es ist großartig! Und wie können wir es bestellen durch alphapetic Bestellung? – sangorys

4
find . -type d > list.txt 

Listet alle Verzeichnisse und Unterverzeichnisse unter dem aktuellen Pfad auf. Wenn Sie alle Verzeichnisse unter einem anderen als dem aktuellen Pfad auflisten möchten, ändern Sie den Pfad . in diesen anderen Pfad.

Wenn Sie bestimmte Verzeichnisse ausschließen möchten, können Sie sie mit einem negativen Zustand herauszufiltern:

find . -type d ! -name "~snapshot" > list.txt 
+0

Meine Präferenz ist „mich | weniger“ (oder "du | cut -f 2 | less ") ... aber deine Lösung ist besser :) – paulsm4

+0

In dieser Option gibt es eine Option zum Ausschließen eines einzelnen Ordners ... Ich habe einen ~ Schnappschuss-Ordner darin, den ich ausschließen möchte? – Sandeep540

+0

@ Sandeep540 Sicher. 'Finde. -type d! -name" ~ snapshot "> list.txt' – Amber

1

Neben find in anderen Antworten aufgelistet, ermöglichen eine bessere Schalen beide recurvsive Kleckse und Filterung von glob Streichhölzer, so in zsh zum Beispiel ...

ls -lad **/*(/) 

... listet alle während Verzeichnisse halten alle „-l“ Details, die Sie wollen, was Sie sonst neu bräuchten, um mit so etwas wie ...

find . -type d -exec ls -ld {} \; 

(nicht ganz so einfach, wie das andere ein swers vorschlagen)

Der Vorteil der Entdeckung ist, dass es unabhängig von der Schale ist - mehr tragbar, auch für system() Anrufe aus einem C/C++ Programm etc ..

+0

In dieser Option gibt es eine Option, um einen einzelnen Ordner auszuschließen ... Ich habe einen ~ snapshot-Ordner darin, wh Ich möchte ausschließen? – Sandeep540

+0

@ Sandeep50: in zsh, ja: 'setopt EXTENDED_GLOB', dann' ls -lad **/* ~ **/~ snapshot (/) '. Details: von 'man zshall' /" x ~ y (Erfordert das Setzen von EXTENDED_GLOB.) Passe alles an, das dem Muster x entspricht, aber nicht mit y übereinstimmt. [...] ". (Es gibt auch "^ x (Erfordert EXTENDED_GLOB gesetzt.) Entspricht allem außer dem Muster x. [Weitere Erklärung der etwas anderen Syntax + Beispiel]") –

Verwandte Themen