들어오는 디렉터리에 약 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-files
ignore 와 같이 두 가지 명령을 사용하여 이 작업을 수행해야 합니다 --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_
파일이 아카이브에 남게 됩니다.