Jak formátovat výstup unix shell script plochý soubor, který je generován .sql souboru v unix shell script

0

Otázka

Mám unix shell skript, který extrahuje data z databáze s .sql souboru . V tomto SQL musím formátu souboru, výstup se SADOU příkazů. Potřebuji výstup takovým způsobem, že výstup je displej s záhlaví sloupce bez jakékoliv mezery nebo řádky v záhlaví.

Očekávaný výstup:

Header1,header 2
Mark,California
Steve,India

Výstupní vidím:(další řádek před header a tečkované čáry po hlavičce)

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

Skript:

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 předpokladu, že váš výstup obsahuje 5 řádků:


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

můžete odstranit nežádoucí čáry poté, co jsou generovány pomocí sed (nebo najít způsob, jak to udělat v sql, který je možná těžší)

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

výstup:

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

Možná je jednodušší to udělat po výstup je generován ale potřebuji způsob, jak to udělat. SQL souboru jen jako .csv ploché výstupní soubor generovaný je potřeba být ve správném formátu.
Milagrin
0

Z toho, co jsem pochopil o vaši otázku, jen chci, SQL skript, aby výsledek do sloupce názvy následovala hned po tabulce výsledky, takže můžete jen vybrat názvy sloupců a UNION do tabulky s výsledky, jako je tento:

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

Připomínka, že UNIONed výběry musí mít stejné množství sloupců.

V případě, že váš stůl schéma je složitější než něco jednoduchého, jako to, budete muset správně detaily, takže dotaz bude fungovat, jak se očekávalo.

2021-12-02 21:22:38

V jiných jazycích

Tato stránka je v jiných jazycích

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