한 경로에서 다른 경로로 파일 복사(.zip 파일 제외)

한 경로에서 다른 경로로 파일 복사(.zip 파일 제외)

동일한 서버 내의 한 UNIX 경로에서 다른 UNIX 경로로 모든 파일을 복사해야 합니다. 그런데 복사할 때 일부 .zip 파일을 제외하고 싶습니다. 어떻게 사용하나요?CP명령 옵션?

답변1

cp/globbing 만 사용하고 /exec를 사용하여 find이 작업을 수행 할 수 있는지 확실하지 않습니다.

find /first/path/ -type f -not -name '*.zip' -exec cp {} /second/path/ \;

재귀를 방지하려면 maxdepth다음 옵션을 추가할 수 있습니다.

find /first/path/ -maxdepth 1 -type f -not -name '*.zip' -exec cp {} /second/path/ \;

또는 소스에서 대상으로 모든 것을 복사한 다음 모든 .zip 파일을 확인하고 삭제할 수 있습니다.

cp -R /first/path/ /second/path/ && find /second/path -type f -name '*.zip' -exec rm {} \;

답변2

간단한 해결책은 .zip 파일을 다른 곳으로 옮기는 것입니다.목차그리고MV, 나머지를 다음과 같이 복사하십시오.CP그런 다음 mv를 사용하여 .zip 파일을 원래 위치로 복원하고목차.

cd SOURCE && mkdir ~/dELETEmE && mv *.zip ~/dELETEmE && cp * DESTINATION  
cd ~/dELETEmE && mv * SOURCE && cd .. && rmdir dELETEmE  

답변3

using only가 필요한지 확실하지 않지만 cpbash를 사용하고 파일 이름에 공백이 없는지 확인하는 경우 다음과 같을까요?

소스 경로에

cp $(ls | grep -v *.zip) /destination/path

관련 정보