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.