Ako formátovať výstup unix shell skript, plochý súbor, ktorý je vytvorený z .sql súborov v unix shell script

0

Otázka

Mám unix shell skript, ktorý extrakty údajov z databázy, s .sql súboru . V tejto SQL potrebujem formát súboru výstup s SADU príkazov. Potrebujem výstup takým spôsobom, že výstup je displej s hlavičku stĺpca bez akejkoľvek medzery alebo linky v záhlaví.

Očakávané výstupy:

Header1,header 2
Mark,California
Steve,India

Výstup vidím:(extra čiare pred hlavičke a bodkované čiary po hlavičke)

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

Za predpokladu, že vaše výstup obsahuje 5 riadkov:


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

môžete odstrániť nežiaduce riadky po sú generované pomocou sed (alebo nájsť spôsob, ako to urobiť v sql čo možno je ťažšie)

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

výstup:

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

Snáď jeho jednoduchšie robiť to po výstup je generovaný, ale potrebujem spôsob, ako to urobiť. SQL súbor len ako .csv plochý súbor výstup vytvorený, je potrebné byť v správnom formáte.
Milagrin
0

Z toho, čo som sa dozvedela o vašej otázke, ste len chcete SQL skript na výsledok do stĺpcov názvy nasledoval hneď po tabuľky výsledky, tak by ste mohli jednoducho vyberte názvy stĺpcov a UNION ich do tabuľky výsledkov, ako je tento:

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

Pripomienka, že UNION'ed výbery musia mať rovnaký počet stĺpcov.

V prípade, tabuľky, schémy, je zložitejšie, než niečo jednoduchého, ako, že, budete musieť správne detail to tak dotaz bude fungovať tak, ako sa očakáva.

2021-12-02 21:22:38

V iných jazykoch

Táto stránka je v iných jazykoch

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