“caminhos devem preceder expressão” erro ao tentar encontrar todos os arquivos jpg no diretório atual

3

ao executar o comando find para encontrar todos os arquivos jpg no diretório atual como

find . -maxdepth 1 -type f -name *.jpg

estou recebendo o erro como:

 find: paths must precede expression: pic1 (1).jpg
 Usage: find [-H] [-L] [-P] [-Olevel] [-Dhelp|tree|search|stat|rates|opt|exec] [path...] [expression]

não consigo descobrir o que há de errado com isso.

    
por Bunny Rabbit 14.03.2011 / 16:33

1 resposta

9

Sempre cite globs em find: find . -maxdepth 1 -type f -name "*.jpg"

Para entender o motivo, tente rastrear o comando original e observe o que realmente é executado:

touch foo.jpg bar.jpg
strace find . -maxdepth 1 -type f -name *.jpg 2>&1 | grep jpg
execve("/usr/bin/find", ["find", ".", "-maxdepth", "1", "-type", "f", "-name", "bar.jpg", "foo.jpg"], [/* 62 vars */]) = 0
...
    
por l0b0 14.03.2011 / 17:36

Tags