Linux 环境下 Spool 文件格式转换实用指南
一、先识别你的 Spool 类型
二、SQL*Plus SPOOL 查询结果转换
set echo off
set feedback off
set heading off
set pagesize 0
set linesize 32767
set trimspool on
set trimout on
set colsep ','
spool /tmp/data.csv
select col1||','||col2||','||col3 from your_table;
spool off
sqlplus -s user/pass@db @export_csv.sql'"'||col||'"'。set markup html on entmap off
spool /tmp/data.html
select * from your_table;
spool off
iconv -f GB2312 -t UTF-8 /tmp/data.csv > /tmp/data_utf8.csv
NLS_LANG=AMERICAN_AMERICA.AL32UTF8)以避免源头乱码。dbms_metadata.get_ddl 等获取对象定义时配合 PRETTY 与 SQLTERMINATOR 参数,减少不必要换行。三、邮件与打印队列 Spool 的转换
cat /var/spool/mail/username 或 less /var/spool/mail/username# mbox -> Maildir
mb2md -s /var/spool/mail/username -d /home/username/Maildir
# 单封导出为 eml(示例,按实际分隔符处理)
formail -s formail -c -X '' < /var/spool/mail/username > msg.eml
ls -l /var/spool/cups/pdf/,任务常以 .pdf 或 .ps 存在。ps2pdf /var/spool/cups/pdf/123.pdf 123_converted.pdf
pdf2ps 123.pdf 123.ps
四、计划任务 Spool 的转换与迁移
sudo cp /var/spool/cron/username /backup/username.croncrontab username 命令:# 将备份内容写回
crontab /backup/username.cron
五、通用清洗与转换工具链
sed 's/|/,/g' data.txt > data.csvsed 's/"//g' file.csv 或 awk -F',' -v OFS=',' '{$1="\""$1"\""; $2="\""$2"\""; print}' file.csviconv -f GBK -t UTF-8 file.txt -o file_utf8.txtdos2unix file.txt 或 sed 's/\r$//' file.txtsed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txtsplit -l 1000000 big.csv chunk_gzip data.csv;解压:gunzip data.csv.gzwc -l data.csv、head -n 5 data.csv、csvlook data.csv(csvkit)