Eu executo este comando:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
eu tenho saída abaixo:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
Qual é o comando exato para encontrar qualquer arquivo do diretório atual e remover com -exec
?
command-line
find
Akshay Patel
fonte
fonte
rm "IMAG1806.jpg"
? Está no mesmo diretório, para que você saiba como é chamado.-exec rm
basta usar-delete
diretamente.Respostas:
Você perdeu o a
;
no final (e também um espaço entre{}
e;
). O comando correto é:;
indica o fim do-exec
predicado defind
.Observe também que usamos
\;
ie\
na frente;
para escapar da interpretação do;
shell, caso contrário, o shell será tratado;
como o final de todo ofind
comando efind
lançará o mesmo erro. Você também pode usar em';'
vez de\;
.Você estava usando
\
no final, isso indica que seu shell continuará recebendo entradas viaPS2
(indicado por>
), você digitouIMAG1806.jpg
novamente, para que todo o comando se torne:Como você pode ver, este não é um comando válido, com
IMAG1806.jpg
no final, sem fechamento de-exec
predicado e sem um espaço entre{}
e\;
.fonte
;
no final" Obrigado por isso, passou 10 minutos a solução de problemas antes de eu percebi que eu tinha acidentalmente digitado:
em vez de;
, por estes modernos telas HD a sua fácil perder ...Você pode simplesmente
Na página do manual:
fonte