Pregunta

He establecido los siguientes parámetros en sqlplus para mostrar mi vista en el cuadro de UNIX. Sin embargo, está mostrando una línea entre dos registros. No quiero esa línea entre dos registros 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"," "

Por favor, ayúdame a lograr el resultado anterior.

¿Fue útil?

Solución

Creo que su problema es que su tamaño de línea está establecido en 125, pero su salida es de 187 caracteres (para la primera línea de todos modos). Cuando sqlplus ajusta sus líneas, coloca el espacio adicional allí para que sepa dónde termina una línea ajustada y comienza la otra.

Cambie el tamaño de su línea a algo mayor que 125 (personalmente, siempre establezco un tamaño de línea en 5000 en mis scripts; puedo hacer mi propio ajuste, gracias, sqlplus), o ejecutar los resultados a través de sed para eliminar los espacios en blanco:

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

Otros consejos

Es posible que tenga activada la separación de registros:

SET RECSEP EACH

Prueba:

SET RECSEP OFF
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top