为什么 csv 在我的 UNIX 脚本中消耗更多的文件大小?

为什么 csv 在我的 UNIX 脚本中消耗更多的文件大小?

我在用着unix 脚本,它以 csv 形式获取记录。我有一个用于此目的的 SQL 查询。它包含以下信息

SET PAGESIZE 5000
SET COLSEP ","
SET LINESIZE 2000
SET FEEDBACK OFF
SET NEWPAGE NONE
SET UNDERLINE OFF

是因为PAGESIZE它占用更多空间吗?

该脚本返回 4MB 的 CSV( OBTM.csv) 文件,而如果我将其转换为 ( OBTM.xlsx) 文件,则为 48KB。

请澄清我的疑问

答案1

最有可能的是,每个记录中的每个字段都用空格填充到字段宽度。我们需要查看查询,但select * from table您可能需要而不是

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

或者,通过 sed 脚本运行 csv 文件以修剪过多的空格:

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

相关内容