모든 파일과 폴더를 한 디렉토리에서 다른 디렉토리로 복사하려고하지만 특정 파일을 제외하려고합니다. 특히 하위 버전 파일과 폴더를 제외하고 싶습니다. 그러나 나는 일반적이지만 간결한 솔루션을 원합니다.
가까운 시일 내에 여러 유형의 파일을 제외해야 할 필요가 있다고 생각합니다. 예를 들어 .svn, * .bak 및 * .prj를 제외 할 수 있습니다.
여기 내가 함께 모은 것이 있지만 그것은 나를 위해 작동하지 않습니다. 첫 번째 부분은 작동하지만 xargs 및 cp에 문제가 있습니다. 나는 cp를 사용하거나 사용하지 않고 cp 를 시도했다 -R
. 또한 OS X를 사용하고 있으며 Linux 시스템보다 xargs의 기능이 적은 버전으로 보입니다 .
find ./sourcedirectory -not \( -name .svn -a -prune \)
| xargs -IFILES cp -R FILES ./destinationdirectory
-R
나는 확신, 플래그. 그것을 제거하면 괜찮을 것입니다 ( -mindepth 1
복사하지 않으려는 최상위 디렉토리 폴더를 무시 하기 위해 추가하고 싶을 수도 있습니다 )
find
명령이-prune
.svn 항목을 제외시키는 데 올바르게 사용 하더라도 , 해당 명령이 재귀적임 을 알리는-R
플래그를 전달합니다 . 그렇게 할 때, 당신은 당신이 명령에 가지고 있던 세분성을 잃게됩니다 . 잠깐이 어설프게 갈거야,하지만 난 대답은 생각 하지 사용 에서 명령.cp
find
-R
cp