"파일만"을 재귀적으로 복사하는 방법

"파일만"을 재귀적으로 복사하는 방법

폴더0과 그 하위 폴더 및 파일의 구조가 있다고 가정해 보겠습니다.

   folder0
      subfolder01
        file011
        file012
      subfolder02
        file021
      file01
      file02

folder0기본 폴더의 모든 파일을 다른 위치에 복사하여 모두 하나의 디렉터리에 있도록 하고 싶습니다 . 어떻게 해야 하나요? 나는 사용했다

cp --recursive folder0address targetfolderaddress

그러나 하위 폴더는 대상 폴더에 복사됩니다. 폴더가 아닌 디렉터리와 하위 디렉터리의 모든 파일을 원합니다. 내 말은 대상 폴더가 다음과 같다는 것입니다.

targetfolder
  file011
  file012
  file021
  file01
  file02

답변1

사용 find:

find folder0 -type f -exec cp {} targetfolder \;

GNU를 사용하면 coreutils이 작업을 보다 효율적으로 수행할 수 있습니다.

find folder0 -type f -exec cp -t targetfolder {} +

전자 버전은 cp복사된 모든 파일에 대해 실행되는 반면, 후자는 cp한 번만 실행됩니다.

답변2

zsh를 사용하면 감사합니다.**재귀 와일드카드의 경우그리고글로벌 예선.일반 파일만 일치합니다.

cp -p folder0/**/*(.) targetfolder

답변3

또는 xargs를 사용하십시오.

 find folder0 -type f | xargs -I {} cp -v {} targetfolder;

무슨 일이 일어나고 있는지 보려면 -v를 사용하세요.

관련 정보