You missed the a ;
at the end (and a space too between {}
and ;
). The correct command is:
find . -type f -name "IMAG1806.jpg" -exec rm -f {} \;
;
indicates the end of -exec
predicate of find
.
Also note that we have used \;
i.e. \
in front of ;
to escape the interpretation of ;
by shell, otherwise shell will treat ;
as end of the whole find
command and find
will throw the same error. You can also use ';'
instead of \;
.
You were using \
at the end, this indicates your shell will continue to take input via PS2
(indicated by >
), you typed IMAG1806.jpg
again, so the whole command becomes:
find . -type f -name "IMAG1806.jpg" -exec rm -f {}IMAG1806.jpg
As you can see this is not a valid command at all with IMAG1806.jpg
at the end, no closing of -exec
predicate and without a space between {}
and \;
.
rm "IMAG1806.jpg"
? It's in the same directory, so you know what it's called.-exec rm
just use-delete
directly.