폴더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를 사용하세요.