Unix Shell 脚本输出到 Excel 文件

Unix Shell 脚本输出到 Excel 文件

我有一个包含多个 SQL 语句的 Shell 脚本,如下所示:

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

执行 Shell 脚本后,我需要使用列名称(如下所示)创建一个 MS Excel 文件,并在我的本地系统中生成结果,并且还必须将其邮寄到我的邮件 ID。

Excel女士文件:

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]"

相关内容