나는 그것을 사용하고 있다이것csv 형식으로 레코드를 가져오는 유닉스 스크립트입니다. 이 목적을 위해 SQL 쿼리가 있습니다. 여기에는 다음 정보가 포함되어 있습니다.
SET PAGESIZE 5000
SET COLSEP ","
SET LINESIZE 2000
SET FEEDBACK OFF
SET NEWPAGE NONE
SET UNDERLINE OFF
PAGESIZE
공간을 더 많이 차지하기 때문일까요 ?
스크립트는 4MB CSV( OBTM.csv
) 파일을 반환하지만, 이를 CSV( ) 파일로 변환하면 OBTM.xlsx
48KB가 됩니다.
내 의심을 명확히 해주세요
답변1
대부분의 경우 모든 레코드의 모든 필드는 필드 너비에 공백으로 채워집니다. 쿼리를 확인해야 하지만 select * from table
대신 필요할 수도 있습니다.
select rtrim(field1) || ',' || rtrim(field2) || ',' || rtrim(field3) -- ...
또는 sed 스크립트를 통해 csv 파일을 실행하여 초과 공간을 정리합니다.
sed -i 's/[[:blank:]]\+,/,/g' OBTM.csv