Скопируйте содержимое вложенных папок в одну папку рекурсивно (терминал)
У меня есть папка для загрузки Wordpress, которая структурирована с использованием подпапок в течение нескольких месяцев.
wolfr2:uploads wolfr$ tree .
.
|-- 2007
| |-- 08
| | |-- beautifulkatamari.jpg
| | |-- beautifulkatamari.thumbnail.jpg
| | |-- beetle.jpg
| | |-- beetle.thumbnail.jpg
Как использовать терминал для копирования всех изображений рекурсивно в другую папку? Я не могу показать подстановочные папки, как вы можете подстановочные имена файлов. (например, *.jpg или *) (я нахожусь на Mac OSX)
cp -R ./*.jpg .
?
Ответы
Ответ 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
- это определенно путь.