如何格式的输出unix shell script平面文件,该文件产生的。sql文件中的unix shell script

0

的问题

我有一个unix壳的脚本中提取数据库中的数据。sql文件。 在这SQL我需要格式的文件出,与设定的命令。 我需要输出这样一种方式,输出显示,与列标题无任何间隔或线的标题。

预期产出:

Header1,header 2
Mark,California
Steve,India

输出我看到:(额外线之前标题和虚线后头)

Header1, header 2
-----------------
Mark,California
Steve, India

Shell script:

ABC.sh
a=`sqlplus -silent $Database name @Ggg.sql`
mv xyz.csv xyz_$1.csv
dos2unix xyz_*.csv 2>  /dev/null
 (cat body.txt; uuencode xyz_$1.csv xyz_$1.csv) | mailx -s "subject" 
 [email protected]
(SQL file Gggg.sql is called and email is sent)

Ggg.sql 
`Set pagesize 5000`
`Set linesize 700`
`Set trimspool off`
`Set heading on`
`Set feedback off`
`Set term off`
`Set verify off``
Spool jjj.csv;
`Select * from table1 where column = '5'`;
`SPOOL OFF`;
EXIT`;
bash header shell sql
2021-11-23 14:54:54
2
0

假设你的输出包含5行:


Header1, header 2
-----------------
Mark,California
Steve, India

你可以去除不想要的线后产生的使用 sed (或找到办法做到在sql这也许是困难)

ABC.sh | sed '1d;3d'

输出:

Header1, header 2
Mark,California
Steve, India
2021-11-23 17:34:14

也许它更容易做到这一点之后出生但是我需要的一种方式来这样做。 SQL文件仅作。csv平输出的文件产生的需要以正确的格式。
Milagrin
0

从我的理解关于你的问题,你只是想要一个SQL脚本到的结果进入你的列名之后的权利之后通过表的结果,因此你可以选择的列名和 UNION 他们表的结果是这样的:

SELECT 'Header1', 'header 2'
UNION
SELECT Header1, Header2 FROM TableName

提醒人们, UNION'ed选择需要具有相同的金额列。

在情况表架构更复杂的比简单的东西喜欢的,你会需要正确地详细说明这样的查询工作,如预期的那样。

2021-12-02 21:22:38

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................