Ich brauche das nicht in einer Zeile, aber ich habe bisher nur eine Zeile.Bash - Auflistung von Programmen in allen Unterverzeichnissen mit dem Verzeichnisnamen vor der Datei
find . -perm -111 +type f | sort -r
Was ich versuche, ein Bash-Skript zu tun ist, schreiben, die eine Liste aller Dateien im aktuellen Verzeichnis angezeigt werden, die (auf einem z) ausführbar sind. Ich möchte, dass das Skript für alle Unterverzeichnisse dasselbe tut. Ich habe Schwierigkeiten, den Namen des Unterverzeichnisses vor der Liste der ausführbaren Dateien in diesem Verzeichnis/Unterverzeichnis anzuzeigen.
Also, um zu klären, wünschenswert Ausgabe könnte wie folgt aussehen:
program1
program2
SubDir1
program3
SubDirSubDir2
program4
SubDir2
program5
Was ich jetzt haben (der obige Code) dies tut. Der Pfad wird nicht entfernt und der Name des neuen Verzeichnisses wird nicht angezeigt, wenn Verzeichnisse geändert werden.
./exfile
./test/exfile1
./test1/program2
./test1/program
./first
Hoffentlich war das klar.
Haben Sie bedeuten, dass für jedes Verzeichnis, das Sie alle Verzeichnisse angezeigt werden sollen zuerst, gefolgt von den Dateien? Welche Reihenfolge möchten Sie die Verzeichnisse zu folgen? – paddy
um zu klären, ich möchte die ausführbare Datei drucken Programme im aktuellen Verzeichnis und dann den Namen des ersten Unterdires ctory und listet jedes Programm darunter auf. Und dann tun Sie es für alle Unterverzeichnisse (rekursiv). – jonbon
@paddy hat dem ursprünglichen Beitrag neue Informationen hinzugefügt – jonbon