Como buscar um arquivo de dois caminhos no unix? [duplicado]

0

Eu estou tentando buscar um arquivo de dois caminhos diferentes. Eu usei o comando abaixo, parece execução bem, mas não há saída.

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

Você poderia me ajudar nisso?

    
por user7268185 22.05.2017 / 08:02

1 resposta

3

Os motivos pelos quais você não recebe resultados:

  • O ponto . é a raiz da sua pesquisa, por isso, se você não estiver no diretório raiz, não terá /usr/local na sua árvore de pesquisa
  • A opção -path precisa corresponder a todo o caminho, incluindo o objeto a ser encontrado, portanto, se você tiver dado um -name , esse nome também precisa fazer parte do -path (ou ser globbed com * no final)

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

    
por 22.05.2017 / 09:01