Ich muss alle Verzeichnispfade auflisten, die TXT-Dateien enthalten.
Zum Beispiel: Es gibt einen Pfad /geek/ user/ temp.txt. Ich muss den Pfad /geek/user als Ausgabe erhalten. Kann mir jemand einen Rat geben?
Antwort1
Führen Sie dies unter Windows in der Eingabeaufforderung (cmd) aus, nachdem Sie (CD) zum Stammordner:
for /r %a in (.) do @if exist "%~fa\*.txt" echo %~fa
Oder ersetzen Sie .
oben den Pfad zum Stammordner.
Für Linux sind zwei mögliche Befehle:
find . -type f -name '*.txt' | sed -r 's|/[^/]+$||' | sort -u
find . -type f -name '*.txt' -printf '%h\n' | sort -u
Für MacOS:
find . -type f -name '*.txt' | sed -E 's|/[^/]+$||' | sort -u