동일한 서버 내의 한 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
답변3
using only가 필요한지 확실하지 않지만 cp
bash를 사용하고 파일 이름에 공백이 없는지 확인하는 경우 다음과 같을까요?
소스 경로에
cp $(ls | grep -v *.zip) /destination/path