Você precisa usar -path ou -ipath com curingas
find . -type d -ipath "*/find/this/path"
Digamos que eu precise encontrar esse caminho /<some_where_in_root>/find/this/path e a única informação que eu tenho é /find/this/path . Qual seria o melhor meio de localizar o diretório completo?
Eu basicamente tenho um programa que cria um diretório e depois que o diretório é criado, eu gostaria de ver se um caminho agora existe dentro do diretório que foi criado.
Até agora eu tentei find . -type d -name "/find/this/path" , mas isso obviamente interpreta /find/this/path como uma string. Existe alguma maneira de usar encontrar nesta situação? Seria melhor apenas analisar o caminho que eu tenho e pegar a parte path e fazer uma pesquisa nessa sequência?
O predicado -path (e sua variante não diferencia maiúsculas de minúsculas, -ipath ) permitirá que você pesquise na árvore inteira o texto exato.
execute estes dois comandos, method1:
root@developer~:# updatedb
root@developer~:# locate /find/this/path
method2:
root@developer~:# tree |grep /find/this/path
os resultados consistirão no caminho completo de / find / this / path
também tente isso execute estes de /
root@developer~:# cd /
root@developer~:/#updatedb
root@developer~:/#locate /find/this/path
root@developer~:/#tree |grep /find/this/path
funciona em todos os sabores de nix :
applemcg.$ find / -type d -name this | grep find/this/path
e um pequeno conselho, quando pedir ajuda. Prefácio sua primeira referência a um caminho deste tipo com a palavra "diretório", como em "caminho do diretório". demorou um minuto para perceber que você não estava se referindo ao caminho (csh) ou à variável PATH.