Auflisten von Verzeichnispfaden mit Unix-Befehl

Auflisten von Verzeichnispfaden mit Unix-Befehl

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

verwandte Informationen