해당 디렉토리에 특정 파일이 있는 디렉토리만 복사하는 방법

해당 디렉토리에 특정 파일이 있는 디렉토리만 복사하는 방법
Main_Directory
     |
Event_Subdirectories
     |
*.mcp .otherfiles

모든 Event_Subdirectories를 Event_subdirectory에 *.mcp 파일이 있는 다른 Main_Directory로 복사하고 싶지만 어떻게 해야 할지 모르겠습니다. rsync를 사용합니까?

답변1

동기화

rsync를 사용하면 쉬워야 하지만 완전하지는 않습니다.

존재한다고 가정하고 ./new_Main_Directory그렇지 않은 경우mkdir ./new_Main_Directory

rsync -a --include '*/' --include '*.mcp' --exclude '*' Main_Directory/ new_Main_Directory/

이렇게 하면 *.mcp 파일과 해당 파일이 있는 디렉터리 구조만 복사됩니다. 이 옵션을 사용하면 언제든지 rsync명령을 테스트 할 수 있습니다 --dry-run.

원천:http://ubuntuforums.org/showthread.php?t=763833

CP

cp를 사용하려면 다음을 시도해 보세요.

for d in ./*/; do
set -- "$d/"*.mcp
if [ -e "$1" ]; then
   # there is at least one .mcp file in $d
   cp -rp -- "$d" ./new_Main_Directory/
fi
done

원천:파일 형식이 포함된 디렉터리 찾기 및 복사

답변2

rsync 명령은 실제로 작동하지 않지만 이 작은 for 루프 스크립트는 정상적으로 실행됩니다. 다른 임의의 파일을 복사했지만 해당 파일은 삭제되었습니다.

관련 정보