aim-db-dir
폴더의 일부 코드 내용을 다른 폴더로 복사해야 합니다 aim-db-dir_nosvn
. aim-db-dir
모든 디렉터리(및 하위 디렉터리)에는 .svn 폴더가 포함되어 있으며 이러한 .svn 폴더에는 내가 신경 쓰지 않는 일부 폴더와 파일이 포함되어 있습니다. aim-db-dir
.svn 폴더와 그 내용을 제외한 디렉터리와 하위 디렉터리의 모든 내용을 복사하고 싶습니다 .
그래서 제 질문은 어떻게 해야 하느냐는 것입니다. 읽었 rsync
지만 디렉터리 및 파일 패턴을 제외할 수 있는지 잘 모르겠습니다. 또한 find 및 cp를 사용해 보았지만 뭔가 빠졌습니다.
내가 시도하는 명령은 다음과 같습니다. (작동하지 않음) -
find aim-db-dir/* -not -name ".svn" | sed -n 's|^aim-db-dir/||p' -exec cp -R "{}" "aim-db-dir_nosvn/{}" \;
저도 써볼까 생각은 해봤는데 xargs
한번도 써본적이 없고 써먹을 수 있을지 모르겠네요. 다양한 솔루션을 높이 평가합니다!
답변1
find
GNU 및 GNU 사용 cpio
:
find /path/to/aim-db-dir -name .svn -prune -o -print0 | cpio -padmv0 /path/to/aim-db-dir_nosvn
그리고 rsync
:
rsync -av -exclude=.svn /path/to/aim-db-dir/ /path/to/aim-db-dir_nosvn
후행 슬래시가 중요합니다. 슬래시가 없으면 /path/to/aim-db-dir/
in이라는 디렉터리가 생성됩니다.aim-db-dir
aim-db-dir_nosvn
GNU 사용 tar
:
tar cpf - --exclude-vcs -C /path/to/aim-db-dir . | tar xvpf - -C /path/to/aim-db-dir_nosvn
tar
기본 PAX 형식의 제한으로 인해 복사에 사용할 수 있는 파일 경로의 최대 길이에 제한이 있습니다.