Listando caminhos de diretório com comando Unix

Listando caminhos de diretório com comando Unix

Preciso listar todos os caminhos de diretório que contêm arquivos .txt.

Por exemplo: existe um caminho /geek/ user/ temp.txt . Preciso obter o caminho /geek/user como saída ..alguém por favor avise

Responder1

Para Windows, execute no Prompt de Comando (cmd), após posicionar (cd) para a pasta raiz:

for /r %a in (.) do @if exist "%~fa\*.txt" echo %~fa

Ou substitua .acima pelo caminho para a pasta raiz.

Para Linux, dois comandos possíveis são:

find . -type f -name '*.txt' | sed -r 's|/[^/]+$||' | sort -u
find . -type f -name '*.txt' -printf '%h\n' | sort -u

Para MacOS:

find . -type f -name '*.txt' | sed -E 's|/[^/]+$||' | sort -u

informação relacionada