Como posso encontrar um caminho fornecendo apenas parte do caminho?

6

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?

    
por hax0r_n_code 17.06.2013 / 04:15

4 respostas

5

Você precisa usar -path ou -ipath com curingas

find . -type d -ipath "*/find/this/path"
    
por 17.06.2013 / 12:34
2

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.

    
por 17.06.2013 / 04:18
2

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
    
por 17.06.2013 / 04:31
2

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.

    
por 17.06.2013 / 21:42