Как вы можете рекурсивно скопировать все файлы * .foo в src в target с помощью cp и / или find?

StackOverflow https://stackoverflow.com/questions/651136

  •  19-08-2019
  •  | 
  •  

Вопрос

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/

Смотрите на руководство пользователя и посмотрите на раздел, озаглавленный "ПРАВИЛА ФИЛЬТРАЦИИ", для получения дополнительной информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top