Подтвердить что ты не робот

Скопируйте содержимое вложенных папок в одну папку рекурсивно (терминал)

У меня есть папка для загрузки Wordpress, которая структурирована с использованием подпапок в течение нескольких месяцев.

wolfr2:uploads wolfr$ tree .
.
|-- 2007
|   |-- 08
|   |   |-- beautifulkatamari.jpg
|   |   |-- beautifulkatamari.thumbnail.jpg
|   |   |-- beetle.jpg
|   |   |-- beetle.thumbnail.jpg

Как использовать терминал для копирования всех изображений рекурсивно в другую папку? Я не могу показать подстановочные папки, как вы можете подстановочные имена файлов. (например, *.jpg или *) (я нахожусь на Mac OSX)

cp -R ./*.jpg .

?

4b9b3361

Ответ 1

Это скопирует все файлы *.jpg из текущей папки в новую папку и сохранит структуру каталогов.

tar cvfp `find . -name "*.jpg"` | (cd <newfolder>; tar xfp -)

Для копирования без сохранения структуры каталогов:

cp `find . -name "*.jpg"` <newfolder>

Ответ 2

Сверху моей головы:

find . -type f -name \*.jpg -exec cp \{\} $TARGETFOLDER \;

Если это не сработает, прокомментируйте, и я попробую еще раз, но find - это определенно путь.