Como buscar um arquivo de dois caminhos no unix?

Como buscar um arquivo de dois caminhos no unix?

Estou tentando buscar um arquivo de dois caminhos diferentes. Usei o comando abaixo, parece uma boa execução, mas não há saída.

find . \( -path "/usr/local" -o -path "/user/local/archive" \) -name "xyz.csv"

Você poderia me ajudar nisso?

Responder1

Os motivos pelos quais você não obtém resultados:

  • O ponto .é a raiz da sua pesquisa, portanto, se você não estiver no diretório raiz, não terá /usr/localna sua árvore de pesquisa
  • A -pathopção deve corresponder a todo o caminho, incluindo o objeto a ser encontrado, portanto, se você forneceu um, -nameesse nome também precisa fazer parte do -path(ou ser incluído *no final)

Mas findleva mais de um argumento como caminho de pesquisa, então você pode pesquisar como @Kamaraj escreveu em seu comentário. No seu caso isso nem é necessário, pois find também pesquisa em subdiretórios, portanto find /usr/local -type f -name xyz.csvtambém encontrará/usr/local/archiv/xyz.csv

informação relacionada