gegeben die folgende Struktur:
oz123@debian:~/ $ tree .
.
├── a
│ ├── a1
│ ├── a2
│ └── a3
├── a1
│ ├── a11
│ ├── a12
│ └── a31
├── b
│ └── b1
│ ├── b11
│ │ └── b21
│ │ └── b31
│ ├── b12
│ └── b3
└── c
16 directories, 0 files
Wie finde ich alle Endknoten?
Ich habe die folgenden Lösungen gefunden, die gut zu sein scheinen , aber ich muss beweisen, dass es keinen Testfall gibt, der fehlschlägt.
Die Hilfeseite der -links
Staaten:
Sie können auch mit '-links' nach Dateien suchen, die eine bestimmte Anzahl von Links haben. Verzeichnisse haben normalerweise mindestens zwei feste Verbindungen. ihr . Eintrag ist der zweite. Wenn sie Unterverzeichnisse haben, hat jedes von diesen auch einen festen Link namens .. zu seinem übergeordneten Verzeichnis. Das . und .. Verzeichniseinträge werden normalerweise nicht durchsucht, es sei denn, sie werden in der Befehlszeile find angegeben.
mögliche Lösung:
oz123@debian:~/ $ find . -type d -links 2
./a/a2
./a/a3
./a/a1
./c
./a1/a31
./a1/a11
./a1/a12
./b/b1/b12
./b/b1/b3
./b/b1/b11/b21/b31
- Kann jemand eine bessere Lösung anbieten (ohne Verwendung von Rohren und Sed, dies ist performant ...)
- Funktioniert es auf jedem Dateisystem?
-links 2
Trick finden. Es wird nicht funktionierenbtrfs
.