Unix Shell 스크립트를 Excel 파일로 출력

Unix Shell 스크립트를 Excel 파일로 출력

다음과 같은 여러 SQL 문을 포함하는 쉘 스크립트가 있습니다.

select Count(*) from Emp where date= current_date-1;

셸 스크립트를 실행한 후 아래 표시된 대로 열 이름이 포함된 MS Excel 파일을 생성하고 로컬 시스템에서 결과를 생성한 다음 이를 내 메일 ID로 메일로 보내야 합니다.

MS 엑셀 파일:

X(Table name)  - Eg: Emp
Result set           120

답변1

이 예를 시도해 보세요

awk 'BEGIN{ OFS="|"; print "Column1|Column2|Column3|Column4|Column5|Column6"};
     NR > 1{print "IND", "INR", $6, $7, $8, $9;}' Inputdata.txt > Output.xls

답변2

테이블 이름을 포함하도록 SQL 문을 변경합니다.

sqlplus <USER_NAME>/<PASSWORD>@<DB_NAME> <<! > output.dat
SET PAGES 0
select 'Emp,' || Count(*) from Emp where date= current_date-1;
EXIT;
!
awk -F "," '{ a[++n] = $1; b[n] = $2; next }
END { printf "Table Name"; for(i=1; i<=n; i++) printf ",%s", a[i]; print"";
           printf "Result Set"; for(i=1; i<=n; i++) printf ",%s", b[i]; print ""
}' output.dat > output.csv

uuencode output.csv output.csv | mail -s "Query result" "[email protected]"

관련 정보