ls-Befehl: wie kann ich eine rekursive full-path-Liste, eine Zeile pro Datei?
Wie kann ich die ls bekommen ausspucken eine Liste von rekursiven one-pro-line Pfade?
Zum Beispiel, ich will einfach nur eine flache Liste von Dateien mit Ihren vollständigen Pfade:
/home/dreftymac/.
/home/dreftymac/foo.txt
/home/dreftymac/bar.txt
/home/dreftymac/stackoverflow
/home/dreftymac/stackoverflow/alpha.txt
/home/dreftymac/stackoverflow/bravo.txt
/home/dreftymac/stackoverflow/charlie.txt
ls -a1
fast tut, was ich brauche, aber ich will nicht Weg-Fragmente, will ich vollständige Pfade.
InformationsquelleAutor der Frage dreftymac | 2009-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wirklich wollen, zu verwenden
ls
dann formatieren Sie Ihre Ausgabe mit awk:InformationsquelleAutor der Antwort ghostdog74
Verwendung finden:
Wenn Sie möchten, dass nur Dateien (ohne Verzeichnisse, Geräte, usw.):
InformationsquelleAutor der Antwort stefanB
ls -ld $(find .)
wenn Sie möchten, Sortieren Sie Ihre Ausgabe von änderungsdatum:
ls -ltd $(find .)
InformationsquelleAutor der Antwort others
Versuchen Sie die folgenden einfacheren Weg:
InformationsquelleAutor der Antwort Ivan Alegre
Beste Befehl ist:
tree -fi
Um die Dateien, aber nicht die links, die Sie entfernen müssen
>
von Ihrem Ausgang:Wenn Sie wissen wollen, die Natur von jeder Datei (nur Lesen ASCII-Dateien zum Beispiel) mit zwei
while
s:InformationsquelleAutor der Antwort kerkael
Oh wirklich eine lange Liste von Antworten.
Es hat mir sehr geholfen und endlich habe ich erstellt, die ich gesucht habe :
Liste Aller Dateien in einem Verzeichnis und seinen Unterverzeichnissen:
Liste Aller Verzeichnisse in einem Verzeichnis und seinen Unterverzeichnissen:
Liste Aller Verzeichnisse und Dateien in einem Verzeichnis und seinen Unterverzeichnissen:
InformationsquelleAutor der Antwort Godfather
Kenne ich nicht den vollständigen Pfad, aber Sie können
-R
für Rekursion. Alternativ, wenn Sie nicht verbogenls
können Sie nur tunfind *
.InformationsquelleAutor der Antwort Justin Johnson
Verwendung keine externe andere Befehle als ls:
InformationsquelleAutor der Antwort Idelic
finden, /wird den trick tun
InformationsquelleAutor der Antwort Dmitry
Praktisch für einige begrenzte appliance Schalen, wo suchen/finden, nicht verfügbar sind.
InformationsquelleAutor der Antwort Rob D
Ich denke, für eine flache Liste der beste Weg ist:
(oder speichern, um es in eine txt-Datei)
InformationsquelleAutor der Antwort Dimitrios
Der einfachste Weg für alle Menschen Zukunft ist einfach:
Dies zeigt aber auch die Größe von, was enthalten ist in jedem Ordner
Sie können awk die Ausgabe nur der Ordner name:
Edit - Sorry, sorry, my bad. Ich dachte, es war nur die Ordner, die benötigt wurden.
Ill lassen Sie dieses hier in den Fall, dass jemand in der Zukunft muss es sowieso...
InformationsquelleAutor der Antwort 6112115
Dass die Freiheit mit allen möglichen ls-Optionen:
find -type f | xargs ls -1
InformationsquelleAutor der Antwort Grzegorz Luczywo
Hier ist eine unvollständige Antwort, die zeigt, dass die Verzeichnis-Namen.
Erklärung:
ls -mR *
listet den vollständigen Verzeichnisnamen endet in einem ':', dann listet die Dateien in diesem Verzeichnis separatsed -n 's/://p'
findet Zeilen, die das Ende in einen Doppelpunkt, ausziehen, den Doppelpunkt und drucken Sie die LinieDurch Iteration über die Liste der Verzeichnisse, wir sollten in der Lage sein zu finden die Verzeichnisse. Noch workin on it. Es ist eine Herausforderung, um die Platzhalter durch xargs.
InformationsquelleAutor der Antwort Kevin
Führen Sie eine bash-Befehl mit dem folgenden format:
InformationsquelleAutor der Antwort Denio Mariz
Hinzufügen einer wildcard an das Ende der ls Verzeichnis Kräfte vollständigen Pfade. Jetzt haben Sie diese:
Man könnte dies statt:
Leider bedeutet dies nicht, drucken Sie den vollständigen Pfad für die Verzeichnisse recursed, so dass es möglicherweise nicht die vollständige Lösung, die Sie suchen.
InformationsquelleAutor der Antwort koeselitz
ls -lR
ist, was Sie suchen, oder atleast ich war. cheersInformationsquelleAutor der Antwort sivi
Viele Antworten, die ich sehe. Das ist meins, und finde ich ziemlich nützlich, wenn Sie arbeiten auf dem Mac.
Ich bin sicher, Sie wissen, es gibt einige "bundle" - Dateien (.app.rtfd.workflowund so weiter). Und suchen im Finder-Fenster scheinen Sie einzelne Dateien. Aber Sie sind es nicht. Und
$ ls
oder$ find
sehen Sie als Verzeichnisse... So, es sei denn, Sie müssen Ihre Inhalte so gut, das funktioniert für mich:Natürlich ist dies für das working-dir, und man könnte hinzufügen, andere bundles Erweiterungen (aber immer mit einem
/
nach Ihnen). Oder andere Erweiterungen, wenn kein bundle-ohne die/
.Eher interessant "
.lpdf/
" (Mehrsprachige pdf). Es hat normale ".pdf
" - Erweiterung (!!) oder keiner im Finder. Auf diese Weise erhalten Sie (oder es gilt nur 1 Datei) für diesespdf
und nicht ein Haufen Zeug...InformationsquelleAutor der Antwort Steve
Wenn das Verzeichnis übergeben Sie einen relativen Pfad, und Sie müssen, um Sie zu konvertieren, um eine absolute Pfad vor dem Aufruf finden. Im folgenden Beispiel wird das Verzeichnis übergeben werden als Erster parameter an das Skript:
InformationsquelleAutor der Antwort John Keyes
Dies ist langsam, aber rekursiv arbeitet und druckt Verzeichnisse und Dateien. Sie können über die Pipeline, die es mit awk/grep-wenn Sie wollen einfach nur die Dateinamen ohne all die anderen Informationen/Verzeichnisse:
InformationsquelleAutor der Antwort RuleB
@ghostdog74:
Wenig zwicken mit deiner Lösung.
Folgende code kann verwendet werden, um search-Datei mit den vollständigen absoluten Pfad.
InformationsquelleAutor der Antwort Chaitanya
Ich kannte den Namen, aber wollte Sie das Verzeichnis als gut.
finden $PWD | fgrep filename
funktionierte perfekt in Mac OS 10.12.1
InformationsquelleAutor der Antwort hpj
Machen Sie es nicht kompliziert. Ich habe gerade verwendet diese und bekam eine schöne Ausgabe:
InformationsquelleAutor der Antwort KellyC