Por que o find está procurando no diretório atual?

2

Eu tenho um script bash /var/www/scripts/process_sounds.sh que usa o comando:

find /var/www/unprocessed_sounds/ * -type f

É suposto encontrar todos os arquivos no diretório unprocessed_sounds , o que ele faz, mas também encontra todos os arquivos no diretório de scripts (e então os processa como arquivos de som, o que não é o que eu quero). / p>

Por que find retornaria as coisas no diretório atual?

    
por cstack 03.11.2012 / 18:13

3 respostas

6

Você está escrevendo o comando da maneira errada. Para pesquisar por arquivo no diretório /var/www/unprocessed_sounds/ , você deve escrever assim

find /var/www/unprocessed_sounds/ -type f

Escrever como find /var/www/unprocessed_sounds/ * -type f pesquisará o arquivo em /var/www/unprocessed_sounds/ e * , o que significa todos os diretórios no diretório atual também.

    
por 03.11.2012 / 18:20
2

você tem um espaço no seu comando

find /var/www/unprocessed_sounds/ * -type f

find está interpretando que você quer procurar por todos os arquivos em /var/www/unprocessed_sounds/ AND ./* tirar a estrela (como achará o diretório de qualquer maneira)

    
por 03.11.2012 / 18:20
2

Se você quiser processar apenas os arquivos no diretório / var / www / unprocessed_sounds /, não será necessário usar o * lá.

Tente usar apenas:

find /var/www/unprocessed_sounds/ -type f
    
por 03.11.2012 / 18:20

Tags