Как вы можете рекурсивно скопировать все файлы * .foo в src в target с помощью cp и / или find?
Вопрос
cp -v -ur path/to/jsps/ /dest/path/
Приведенная выше команда копирует все файлы, которые были обновлены, из исходного каталога в конечный, сохраняя структуру каталогов.
Чего я не могу понять, так это как скопировать только файлы *.someExtention .Я знаю, что вы можете использовать что-то вроде:
find -f -name *.jsp -exec some awesome commands {}
Но я не знаю, как это сделать (и у меня нет времени подробно читать информационные страницы).
Мы очень ценим любую помощь.
Спасибо, ЛЕС
Решение
Если вы хотите использовать find / cp, то следующее должно сработать:
find -f -name *.jsp -exec cp --parents {} /dest/path \;
но rsync, вероятно, лучший инструмент.
Другие советы
rsync ( синхронизация rsync ) может помочь - вы можете указать ему просто скопировать определенные файлы с помощью комбинации опций включения и исключения, например
rsync -a \
--include='*.foo' \
--include='*/' \
--exclude='*' \
path/to/jsps/ /dest/path/
Смотрите на руководство пользователя и посмотрите на раздел, озаглавленный "ПРАВИЛА ФИЛЬТРАЦИИ", для получения дополнительной информации.