私のUNIXスクリプトでcsvがより多くのファイルサイズを使用するのはなぜですか?

私のUNIXスクリプトでcsvがより多くのファイルサイズを使用するのはなぜですか?

私はそれを使用していますこれcsv形式でレコードを取得するUnixスクリプト。この目的のために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.xlsx48KBになります。

私の疑いを明確にしてください

ベストアンサー1

ほとんどの場合、すべてのレコードのすべてのフィールドはフィールドの幅にスペースで埋められます。クエリを確認する必要がありますが、select * from table代わりに必要になる場合があります。

select rtrim(field1) || ',' || rtrim(field2) || ',' || rtrim(field3) -- ...

または、sedスクリプトを使用してcsvファイルを実行して、余分なスペースをクリーンアップします。

sed -i 's/[[:blank:]]\+,/,/g' OBTM.csv

おすすめ記事