폴더 트리를 반복하고 하위 폴더 파일을 복사하기 위한 셸 스크립트 [닫기]

폴더 트리를 반복하고 하위 폴더 파일을 복사하기 위한 셸 스크립트 [닫기]

폴더를 반복하는 스크립트를 만들려고 합니다. 이 폴더에는 많은 하위 프로젝트가 있습니다. 각 하위 프로젝트로 이동하여 src폴더를 동일한 폴더가 아닌 외부 폴더에 복사해야 합니다.

find ~/project/ \( -name 'src' \) -delete

이것이 모든 외부 폴더에서 기존 폴더를 삭제하는 방법 src이지만 새 폴더를 복사하는 방법을 모르겠습니다. 편집: 나는 노트에 구조를 그렸습니다. Bycp 내 말은 교체를 의미합니다. 여기에 이미지 설명을 입력하세요.

답변1

~에서부모프로젝트의 경우 rsync라는 멋진 백업 도구를 사용할 수 있습니다.

rsync -av project/ .

위 코드는 모든 하위 디렉터리를 상위 디렉터리로 복사합니다. 명명된 하위 디렉터리만 원하는 경우에는 조금 더 복잡하므로 다음 위치에서 실행해야 합니다.이내에이것프로젝트/목차:

find . -maxdepth 2 -type d -name "src" -exec rsync -aRv {} .. \;

우리가 여기서 하는 일은 당신의소스 코드하위 디렉터리를 복사하여 rsync에 전달합니다. 가장 중요한 것은 다음과 같습니다.오른쪽대상에서 상대 경로 이름을 유지하도록 rsync에 지시하는 플래그입니다.

관련 정보