Verzeichnisse und Unterverzeichnisse mit einem Verzeichnis als Argument auflisten (Bash)

1

Die Aufgabe ist es, ein Bash-Skript in Ubuntu zu erstellen. Es soll ein Verzeichnis als Argument annehmen und alle Verzeichnisse und Unterverzeichnisse dieses Arguments auflisten. Ich habe nicht viel Erfahrung mit bash. Kannst du mir helfen?

Falcool
quelle
shopt -s globstar nullglob; ls -l **/*; shopt -u globstar nullglob?
Cyrus

Antworten:

2

Es gibt verschiedene Möglichkeiten, dies zu tun. Wenn Sie sich die Installation nicht leisten können tree Sie könnten versuchen, diejenigen zu verwenden, die sofort verfügbar sind.

Verzeichnisse mit find auflisten

find . -type d

Es hängt davon ab, was genau Sie mit den Ergebnissen vorhaben. ich schlage dich vor Schau dir diesen Thread an für andere Optionen und Inspiration.

Lenart
quelle
Ich möchte sie nur auflisten :) Danke!
Falcool
1

Du kannst den ... benutzen tree [ 1 ] Befehl.

  tree -d "$1"

Das -d Option listet nur die Verzeichnisse auf.

Das $1 ist der erste Parameter, den Sie an das Skript übergeben.

Übrigens parsen Sie die Ausgabe des Befehls nicht als Baum oder ls um Probleme im Zusammenhang mit der Leertaste und dem Zeilenumbruch zu vermeiden, bei denen es sich um Zeichen handelt, die innerhalb eines Namens einer Datei oder eines Verzeichnisses zulässig sind.

Im letzteren Fall können Sie verwenden find. Fragen man find in einer Shell oder suchen Sie z. auf dieser Seite darüber.

Hastur
quelle