Kopiowanie zawartości zagnieżdżonych folderów do jednego folderu rekurencyjnie (terminal)

Mam folder przesyłania Wordpress, który jest zorganizowany za pomocą podfolderów przez miesiące.

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

Jak używać terminala do rekurencyjnego kopiowania wszystkich obrazów do innego folderu? Nie mogę wydawać folderów z symbolami wieloznacznymi, takich jak nazwy plików z symbolami wieloznacznymi. (np. *.jpg lub*) (jestem na Mac OSX)

cp -R ./*.jpg .

?

Author: Wolfr, 2009-12-20

2 answers

To skopiuje wszystkie *.pliki jpg z bieżącego folderu do nowego folderu i zachowują strukturę katalogów.

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

Kopiowanie bez zachowania struktury katalogów:

cp `find . -name "*.jpg"` <newfolder>
 34
Author: Richard Pennington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-20 16:10:16

Off the top of my head:

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

Jeśli to nie zadziała, skomentuj i spróbuję jeszcze raz, ale find jest zdecydowanie droga do zrobienia.

 30
Author: Lucas Jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-20 16:02:40