2009-12-20 5 views
20

몇 달 동안 서브 폴더를 사용하여 구조화 된 Wordpress 업로드 폴더가 있습니다.하나의 폴더에 중첩 된 폴더 내용을 재귀 적으로 복사 (터미널)

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

터미널을 사용하여 모든 이미지를 재귀 적으로 다른 폴더에 복사하려면 어떻게해야합니까? 와일드 카드 파일 이름처럼 와일드 카드 폴더처럼 보이지 않습니다. (예 : * .jpg 또는 *) (Mac OSX 사용자)

cp -R ./*.jpg . 

? 내 머리 위로 떨어져

답변

31

모든 * .jpg 파일을 현재 폴더에서 새 폴더로 복사하고 디렉터리 구조를 보존합니다.


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

는 디렉토리 구조를 보존하지 않고 복사하려면이 파일/이름에 공백이있는 폴더로 작동하기 때문에

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

구조에서 제거하고 모든 이미지를 플랫 폴더에 넣기를 원합니다. – Wolfr

+0

Ok, cp'find. -name "* .jpg"'

+0

찾기를 둘러싼 내 backquotes가 중단되었습니다. –

28

:

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

문제가 해결되지 않으면, 코멘트 나는 다시 시도 하겠지만, find는 확실히 갈 방법입니다.

+2

이 정답이다. – Sinatra

관련 문제