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

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

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

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

cp -R ./*.jpg .

?

23
задан Wolfr 20 December 2009 в 15:55
поделиться

2 ответа

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

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

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

cp `find . -name "*.jpg"` <newfolder>
36
ответ дан 29 November 2019 в 01:01
поделиться

Совершенно неожиданно:

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

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

31
ответ дан 29 November 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: