O comando find
assume que tudo entre a opção -exec
e ;
compreende o comando que você deseja executar em cada resultado da pesquisa.
Como ;
é um caractere reservado no shell bash
, você precisa escapar usando \
, caso contrário o bash o interpretará. Veja man bash
para detalhes.
As chaves {}
são um marcador de posição para cada resultado de pesquisa de localização.
O seguinte é da página man de find
:
-exec command ;
Execute command; true if 0 status is returned.
All following arguments to find are taken to be arguments
to the command until an argument consisting of ';' is encountered.
The string '{}' is replaced by the current file name being
processed everywhere it occurs in the arguments to the command, not
just in arguments where it is alone, as in some versions of find.
Both of these constructions might need to be escaped (with a
'\') or quoted to protect them from expansion by the shell.