я столкнулся с проблемой примерно так ...
Фактически, вы можете обрабатывать find
вывод copy
команды двумя способами в command
Если 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 \;
\;
?