다른 디렉토리에 압축하여 보관

다른 디렉토리에 압축하여 보관

들어오는 디렉터리에 약 250개의 CSV 소스 파일이 있습니다.

내 임무는 이러한 CSV 파일을 병합하고 다음과 같은 파일을 생성하는 것입니다 Merge_. 그런 다음 Informatica 작업은 병합된 파일을 소스로 선택하고 작업을 시작합니다.

이제 병합 부분이 처리되었습니다. /source/archive병합된 파일이 생성되는 즉시 모든 CSV 파일을 압축하여 다른 디렉터리에 보관하고 싶습니다 .

Merge_또한 파일이 손상되지 않고 그대로 유지되기를 바랍니다 .

zip과 tar를 별도로 사용하는 방법은 알고 있지만 둘을 결합하여 다른 디렉토리로 이동하는 방법은 잘 모르겠습니다.

다음과 같은 것을 사용하려고 하는데 작동하지 않습니다.

tar -czvf All_Files.tar.gz *.csv  /Source/Archive --remove-files --exclude Merge_file_1.csv, Merge_File_2.csv

tar 및 zip을 예상한 다음 파일을 /source/archive로 이동하고 병합된 파일을 제외한 원본 파일을 삭제합니다.

답변1

--remove-filesignore 와 같이 두 가지 명령을 사용하여 이 작업을 수행해야 합니다 --exclude.

tar -czvf ../All_Files.tar.gz --exclude 'Merge_*' *.csv && \
find . -type f -name '*.csv' -not -name 'Merge_*' -delete

메시지 "tar: Removing leading '/' from member names"는 오류가 아니지만 tar는 예상대로 작동합니다.

쉼표로 구분된 목록이 아닌 --exclude패턴(예: ) 이 사용됩니다. 'Merge_*'아카이브에서 제외하려는 파일 앞에 이를 넣어야 합니다. 그렇지 않으면 해당 Merge_파일이 아카이브에 남게 됩니다.

관련 정보