假设我有表A列
col1 col2 col3 col4 ------------------- sajal singh 28 IND hello how are you
我想将数据导出到平面文件中,列之间没有空格或制表符
所以输出应该是
cat dump sajalsingh28IND hellohowareyou
我试过的.我写了一个剧本
#!/usr/bin/bash #the file where sql output will go OUT=report.txt >$OUT DESC=desc.txt >$DESC sqlplus -s "xxx/xxx@xxx" << END_sql > /dev/null set pages 0 set Feedback off set heading off set trimspool off set termout off set verify off set wrap off SPOOL $DESC Select * from table_name; SPOOL OFF END_sql
>所以问题是我该如何解决这个问题?和
>我找到了一些数据泵实用程序,如expdp.我可以在Unix中使用它吗?如果是的话,我怎么能以这种格式实现转储呢?
谢谢
解决方法
如果您已有CSV转储,则可以运行以下命令:
awk 'BEGIN{FS=",";OFS=""}{$1=$1}1' csv.dump > new.dump
未经测试:
SET HEADING OFF SET FeedBACK OFF SPOOL $DESC SELECT col1 ||''|| col2 ||''|| col3 FROM table_name; SPOOL OFF;