Quero encontrar um diretório x
dentro de um subdiretório específico y
usando o terminal do macOS, mas não conheço os diretórios anteriores ao y
.
Este comando find / -type d -name "x"
funciona para x
localizar, mas há muitos diretórios nomeados x
em todo o sistema, então preciso encontrar o x
que está sob o diretório y
.
Eu tentei -
find / -type d -name "/y/x"
oufind / -type d -name "y/x"
oufind / -type d -name "../y/x"
mas estes não me mostram o resultado desejado.
Usando o
-path
primário:De uma
zsh
concha:O
**
glob corresponde a subdiretórios e o(/D)
qualificador glob especifica que os nomes de caminho resultantes devem ser diretórios e que o padrão também deve corresponder a nomes ocultos (comodotglob
embash
).Ou o equivalente aproximado da
bash
versão 4 ou posterior (ou seja, instalado do Homebrew no macOS, não o padrãobash
):A
globstar
opção shell embash
permite o uso do**
padrão globbing, enquantofailglob
faz com que a correspondência de padrões falhe com um erro se não houver correspondências. Ofailglob
comportamento é o padrão emzsh
, assim como a disponibilidade de**
.find
provavelmente seria mais rápido embora:Isso encontraria qualquer diretório chamado
x
vivendo em um diretório chamadoy
em algum lugar sob/
.Ou, você pode ter um
locate
utilitário funcional com o qual você pode fazerEssa seria a alternativa mais rápida, mas retornaria apenas resultados acessíveis por qualquer usuário do sistema e pode não estar totalmente atualizado.