2009-07-30 7 views
1

sqlplus에서 유닉스 박스에 내보기를 표시하도록 아래의 매개 변수를 설정했습니다. 그러나 두 레코드 사이에 한 줄 간격을 표시합니다. 한 줄 간격을 원하지 않습니다. 두 개의 레코드 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"," " 

위 출력을 달성하는 데 도움을주십시오. 당신은 기록적인 분리가있을 수 있습니다

답변

2

나는 당신의 문제가 당신의 LINESIZE이를 위해 (125으로 설정하지만 출력은 187 자입니다 것을 믿는다 어쨌든 첫 번째 줄). sqlplus가 줄을 래핑 할 때 줄 바꿈 된 줄이 끝나고 다른 줄이 시작되는 곳을 알려주는 여분의 공간을 넣습니다.

줄 크기를 125보다 크게 변경하십시오 (개인적으로 필자는 스크립트에서 줄 수를 5000으로 설정했습니다. 필자 자신의 포장을 할 수 있습니다, 감사합니다, sqlplus). 또는 sed를 통해 결과를 실행하여 공백을 제거하십시오 : 그것은 나에게 올바른 결과 집합을주고있다 lotsoffreetime..Now

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

그것은 정확하게 내가 원하는 것을 작동합니다 ... atonn steve에게 감사드립니다 !!! –

0

이 켜져 :

SET RECSEP EACH 

시도 :

SET RECSEP OFF 
+0

가 대단히 감사합니다! –

관련 문제