찾을 쉘 스크립트를 찾고 있습니다.".txt", ".csv"여러 재귀 폴더/하위 폴더의 파일을 복사하고 동일한 폴더 경로를 다시 만들어 이러한 파일을 새 경로에 복사합니다.
예: 많은 상위 폴더와 하위 폴더에 약 20,000개의 파일이 저장되어 있습니다.
출처: u01/temp/proj/sales/john/.csv, .xls 파일
u01/temp/proj/sales/mike/.txt, .csv, .xls 파일
u01/temp/proj/sales/geebee/sale/.csv, .xls 파일
복사하려면 쉘 스크립트가 필요합니다.".txt", ".csv"만파일(xls 및 기타 파일 제외)을 복사하고 동일한 폴더 경로를 다시 만든 다음 아래와 같이 위 파일을 복사합니다.
u01/perm/프로젝트/판매/존/.csv파일
u01/perm/proj/sales/mike/.txt, .csv파일
u01/perm/proj/sales/geebee/sale/.csv문서
감사해요.
답변1
이를 위해 rsync를 사용할 수 있습니다. 소스 디렉터리에서 .txt 및 .csv 파일만 원하는 경우 해당 파일과 관련 디렉터리 구조만 대상에 복사할 수 있습니다.
예를 들어:
rsync -av --include="*/" --include="*.csv" --include="*.txt" --exclude="*" u01/temp/ u01/perm/
반대 작업을 수행하고 ".json" 및 ".xlsx"를 제외한 모든 파일을 복사하는 등의 작업을 수행하려면 다음과 같이 명령 호출에서 "--exclude"를 사용할 수 있습니다.
rsync -avz --exclude="*.json" --exclude="*.xls" --exclude="*.xlsx" u01/temp/ u01/perm/