Linux: find - Pare assim que encontrar algo

1

Estou tentando usar o find para localizar um único diretório, e gostaria que ele parasse assim que encontrasse algo, isso é possível?

Atualmente, estou usando o comando find /directory/to/search/ -maxdepth 4 -name *search_text* -type d -prune , que reduz o tempo de execução para um valor decente, mas ainda continua por um tempo depois de encontrar o que estou procurando. Como isso está sendo executado em um script, não posso simplesmente Ctrl + c parar. Alguma sugestão?

    
por EEP 11.10.2012 / 23:55

3 respostas

3

Claro, corra

find /directory/to/search/ -maxdepth 4 -name "*search_text*" -type d -prune -print -quit

confira a página man do find e a seção actions

    
por 12.10.2012 / 00:14
2
find ... | head -1

Assim que a cabeça ler uma linha, ela fechará o cano que matará a localização.

    
por 12.10.2012 / 00:45
0

Eu não acho que isso seja diretamente possível; encontrar não tem qualquer opção para isso.

Eu encontrei este snippet que mata quando alcança o segundo resultado:

find /directory/to/search/ -name *search_text* -print -exec perl -e 'kill "INT", getppid' \;
    
por 12.10.2012 / 00:08

Tags