Я запускаю эту команду:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
я получил вывод ниже:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
Что такое точная команда для поиска любого файла из текущей директории и удаления с помощью -exec
?
command-line
find
Акшай Патель
источник
источник
rm "IMAG1806.jpg"
? Он находится в том же каталоге, так что вы знаете, как он называется.-exec rm
просто использовать-delete
напрямую.Ответы:
Вы пропустили a
;
в конце (и пробел тоже между{}
и;
). Правильная команда:;
указывает на конец-exec
предикатаfind
.Также обратите внимание, что мы использовали
\;
ie\
перед тем,;
чтобы избежать интерпретации;
by shell, иначе shell будет рассматриваться;
как конец всейfind
команды иfind
выдаст ту же ошибку. Вы также можете использовать';'
вместо\;
.Вы использовали
\
в конце, это означает, что ваша оболочка продолжит принимать ввод черезPS2
(обозначено>
), вы набралиIMAG1806.jpg
снова, поэтому вся команда становится:Как вы можете видеть, эта команда вообще не является допустимой
IMAG1806.jpg
в конце, без-exec
предиката и без пробела между{}
и\;
.источник
;
в конце». Спасибо за это, потратил 10 минут на устранение неполадок, прежде чем я понял, что:
вместо;
этихВы можете просто
Со страницы руководства:
источник