я зіткнувся з такою проблемою ...
Насправді двома способами можна обробити findкомандний вихід у copyкоманді
Якщо findвихідний результат команди не містить простору, тобто якщо ім'я файлу не містить місця в ньому, ви можете використовувати нижче згадану команду:
Синтаксис: find <Path> <Conditions> | xargs cp -t <copy file path>
Приклад: find -mtime -1 -type f | xargs cp -t inner/
Але більшість часу наші виробничі файли даних можуть містити в ньому простір. Тому більшість часу нижче згаданої команди є більш безпечним:
Синтаксис: find <path> <condition> -exec cp '{}' <copy path> \;
Приклад find -mtime -1 -type f -exec cp '{}' inner/ \;
У другому прикладі остання частина, тобто крапка з двокрапкою, також розглядається як частина findкоманди, яку слід вийти, перш ніж натиснути кнопку введення. Інакше ви отримаєте помилку приблизно подібну
find: missing argument to `-exec'
У вашому випадку синтаксис команд копіювання неправильний для копіювання знаходження файлу в /home/shantanu/tosend. Наступна команда буде працювати:
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp {} /home/shantanu/tosend \;
\;?