원본 파일을 유지하면서 압축된 출력 파일을 만들고 싶습니다.

원본 파일을 유지하면서 압축된 출력 파일을 만들고 싶습니다.

원본 파일을 유지하면서 압축된 출력 파일을 만들고 싶습니다. 명령 태스크 또는 세션 태스크를 사용하여 Informatica 측에서 이 작업을 수행하고 싶습니다.

내가 시도하는 것의 예는 다음과 같습니다.

  1. 세션 작업에서: 명령 유형 = '명령', 명령 =
    gzip -c /var/opt/powermart/pc8_dev/infa_shared/TgtFiles/test1/tgt_zip.out

  2. 명령 작업을 사용하는 경우:

    gzip -c /var/opt/powermart/pc8_dev/infa_shared/TgtFiles/test1/tgt_zip.out

이 두 가지를 시도했지만 zip 파일이 전혀 생성되지 않습니다.

아래는 스크린샷입니다:

세션 작업의 명령

답변1

-c옵션을 사용하여 원본 파일을 유지하고 출력을 다른 파일로 리디렉션할 수 있습니다 .

gzip -c file > file.gz

원본을 file변경하지 않고 그대로 두고 다음과 같은 이름의 gzip 파일을 생성합니다.file.gz

답변2

-cgzip 옵션은 압축 파일이 디스크에 기록되지 않고 stdout으로 전송된다는 의미 이므로 zip 파일이 생성되지 않습니다 . 원하는 대로 Laurent가 의견에서 제안한 것을 수행하거나 zip대신 gzip원본 파일을 유지하고 .zip 파일을 생성하는 를 사용할 수 있습니다.

zip /var/opt/powermart/pc8_dev/infa_shared/TgtFiles/test1/tgt_zip.out.zip /var/opt/powermart/pc8_dev/infa_shared/TgtFiles/test1/tgt_zip.out

또는:

cd /var/opt/powermart/pc8_dev/infa_shared/TgtFiles/test1/ && zip tgt_zip tgt_zip

답변3

gzip -c파일(또는 filename이 - 인 경우 표준 입력)을 읽고 압축된 버전을 표준 출력에 씁니다.

따라서 내용을 새 파일에 저장한 다음 표준 출력 리디렉션을 사용할 수 있습니다.

gzip -c inputfile >outputfile

간단히 압축하여 inputfile.gz를 생성하세요.

gzip inputfile

Informatica가 리디렉션을 무시하는 경우 stdout전체 명령을 셸(sh, csh, bash...)에 전달하여 수행하도록 할 수 있습니다.

Command=sh -c "gzip -c filename > newfilename"

저는 informatica 사용자가 아니므로 해당 포럼에서 제품에 대한 자세한 정보를 얻을 수 있습니다.여기.

편집 1

이는 I/O 리디렉션을 숨기는 Informatica의 간단한 스크립트입니다.

$ cat infagzip.sh 
#!/bin/sh

if [ $# -ne 2 ]
then
    echo "Usage $0 : inputfile outputfile "
    exit 1
fi
 gzip -c "$1" > "$2"

이제 명령줄은 다음과 같아야 합니다.

/path/to/infagzip.sh inputfilename outputfilename

관련 정보