Я изучаю команду'find
', и имейте поиск, который работает, с помощью -exec cp {} \;
.
Я создал 10 000 фиктивных файлов для наблюдения то, чем будет улучшение эффективности то, если я выполню это как -exec cp {} +
, но я не могу выяснить, как заменить';
'с'+
'. Неважно, заключения в кавычки, выхода, или отсутствия этого, ни различных положений или комбинаций с';
'кажется, делаю задание. Я всегда получаю сообщение об ошибке"find: missing argument to -exec
".
Кто-либо мог показать правильный синтаксис, включая то, что выйти/заключить в кавычки?
При использовании -exec ... +
, {}
должен всегда быть в последней позиции.
Посмотрите синтаксис в man find
:
-exec command {} +
Таким образом, это не работает:
find . -exec cp {} my/target/ +
Необходимо использовать третью форму cp
и использование -t, --target-directory=DIRECTORY
опция:
cp [OPTION]... -t DIRECTORY SOURCE
Так, это должно работать:
find . -exec cp -t my/target/ {} +
Btw: то же относится find -exec
с mv
.