假设我有包含列的表 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;
关于ORACLE:需要导出表数据,列之间没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206410/