2016-10-13 3 views
0

RHEL 서버에서 CentOS로 변경되었습니다. 더 이상 작동하지 않는 쉘 스크립트가 작동하지 않습니다. CSV 파일은 비어 있지만 SQL을 복사하여 SQLPlus에 붙여 넣을 때 100 개의 행이 있습니까? RHEL --> Windows --> CentOS 말에서 복사 할 때쉘 스크립트가 SQLPlus의 출력을 저장하지 않습니다.

#!/bin/bash 

    function getdata 
    { 
    sqlplus -s user/pass <<EOF 
    SET COLSEP , 
    SET LINESIZE 10000 
    SET PAGESIZE 50000 
    SET NEWPAGE NONE 
    SET HEADING OFF 
    SET FEEDBACK OFF 
    SET ECHO OFF 
    SET TRIMSPOOL ON 

    select distinct orders.order_no, orders.order_total from orders; 

    exit; 
    EOF 
    } 

    getdata | sed 's/,\s\+/,/g; s/\s\+,/,/g' > output.csv 
+2

캐리지 리턴 문제가 있습니까? 선의 끝을 확인할 수 있습니까? 'sed' 필터를 제거하면 어떻게됩니까? –

+1

SPOOL 명령을 추가해야 할 수도 있습니다. SPOOL myfile.csv. – BriteSponge

+0

@ BriteSponge이 대답은 정답이 될 것입니다. 나는 터미널 화면에서 100 줄을 얻었고, 원하는대로 output.csv가 아니라는 것을 의미한다고 생각합니다. –

답변

0

당신은 당신의 스크립트에서^set serverout on

은 또한 찾아 M 문자를 설정해야 할 수도 있습니다, 이러한 크리프. 그냥 생각.