Frage

Ich habe die unten Parameter in sqlplus gesetzt meine Sicht auf Unix-Rechner aus, setzte anzuzeigen jedoch ist es eine Zeile Lücke zwischen zwei records.I Anzeige nicht will, dass eine Zeile Lücke zwischen zwei Aufzeichnungen Ex -

set feedback off
SET NEWPAGE NONE
set HEADING Off
set pagesize 0
set linesize 125
SET TRIMSPOOL ON
set termout off
spool /export/home/43276826/Rep_Tran_oracle_$DATE_FILE.txt
select RecordID||','||C_S||','||P_R||','||AccountingDate||','||SettlementDate||','||Sec
Description||','||ISIN||','||MessageRef||','||Amount||','||Department||','||AssignedTo||','||LastUpdate||','||CashAmount||','
||CashAmountUSD||','||LastNoteText||','||LastNoteUser||','||CashCurrency||','||BIMASNumber||','||RelatedReference||','||Sende
rToRec||','||OpType||','||OriginalISIN from HSBC_ALL_OI_T;

201280,C,R,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1006851",188.00
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357690","  ","FR"," "

"201279,C,P,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1401548",188.00
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357689","  ","FD"," "

there is a gap of one line between two records,I don't want that one line gap.I want output in the below format:

201280,C,R,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1006851",188.00
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357690","  ","FR"," "
"201279,C,P,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1401548",188.00
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357689","  ","FD"," "

Bitte helfen Sie mir in der obigen Ausgabe zu erreichen.

War es hilfreich?

Lösung

Ich glaube, Ihr Problem ist, dass Ihr linesize auf 125 gesetzt ist, aber die Ausgabe ist 187 Zeichen (für die erste Zeile sowieso). Wenn sqlplus Ihre Linien hüllt, bringt es den zusätzlichen Platz gibt, damit Sie wissen, wo man eingewickelt Linie endet und das andere beginnt.

Entweder Ihre Linie Größe etwas ändern mehr als 125 (persönlich, habe ich immer linesize bis 5000 in meiner Skripte gesetzt - ich meine eigene Verpackung tun, danke, sqlplus) oder die Ergebnisse durch sed ausführen, um die Lücken zu entfernen:

cat myResultFile.txt | sed '/^$/d' > newResultFile.txt

Andere Tipps

Sie könnten Rekord Trennung eingeschaltet haben:

SET RECSEP EACH

Versuchen:

SET RECSEP OFF
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top