Вы пропустили a ;
в конце (и пробел тоже между {}
и ;
). Правильная команда:
find . -type f -name "IMAG1806.jpg" -exec rm -f {} \;
;
указывает на конец -exec
предиката find
.
Также обратите внимание, что мы использовали \;
ie \
перед тем, ;
чтобы избежать интерпретации ;
by shell, иначе shell будет рассматриваться ;
как конец всей find
команды и find
выдаст ту же ошибку. Вы также можете использовать ';'
вместо \;
.
Вы использовали \
в конце, это означает, что ваша оболочка продолжит принимать ввод через PS2
(обозначено >
), вы набрали IMAG1806.jpg
снова, поэтому вся команда становится:
find . -type f -name "IMAG1806.jpg" -exec rm -f {}IMAG1806.jpg
Как вы можете видеть, эта команда вообще не является допустимой IMAG1806.jpg
в конце, без -exec
предиката и без пробела между {}
и \;
.
rm "IMAG1806.jpg"
? Он находится в том же каталоге, так что вы знаете, как он называется.