Come formattare l'output di unix shell script flat file che viene generato .file sql, unix shell script

0

Domanda

Ho un unix shell script che estrae i dati dal database con un .file sql . In questo SQL ho bisogno di modificare il formato del file di output con il SET di comandi. Ho bisogno di una uscita in modo che il display di uscita è con l'intestazione della colonna, senza alcuna spaziatura o linee di intestazione.

Uscita prevista:

Header1,header 2
Mark,California
Steve,India

L'uscita vedo:(linea extra prima di intestazione e le linee tratteggiate dopo intestazione)

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

Script di Shell:

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

Supponendo che il vostro output contiene 5 linee:


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

è possibile rimuovere le linee indesiderate dopo vengono generati utilizzando sed (o trovare il modo per farlo in sql che forse è più difficile)

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

output:

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

Forse è più facile farlo dopo che l'output viene generato, ma ho bisogno di un modo per farlo in. File SQL solo come .csv flat file di output generato è bisogno di essere nel formato corretto.
Milagrin
0

Da quello che ho capito la tua domanda, vuoi solo uno script SQL per il risultato nella colonna nomi seguiti subito dopo da una tabella i risultati, quindi, si può solo selezionare i nomi di colonna e UNION al tavolo dei risultati come questo:

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

Ricordo che UNION"ed selezioni è necessario avere la stessa quantità di colonne.

Nel caso In cui il tuo schema della tabella è più complesso di qualcosa di semplice come questo, si avrebbe bisogno di correttamente dettaglio, in modo che la query funziona come previsto.

2021-12-02 21:22:38

In altre lingue

Questa pagina è in altre lingue

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