【发布时间】:2013-06-16 21:11:39
【问题描述】:
假设我有带有列的表 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 中使用它吗?如果是,我怎样才能实现这种格式的转储?
谢谢
【问题讨论】:
-
也许这听起来很愚蠢,但我通常用记事本 ++ 解决这个问题,我用全部替换删除所有逗号和空格,它真的很好而且非常快。但是,也许你需要一些自动化的东西
-
谢谢穆迪兹。但我必须将它用于多个表的生产:) 所以我猜记事本 ++ 不会为我工作。
-
您确定不希望将值填充到列长度吗?我看不出你能用这个文件做什么 - 肯定不可能对内容进行解释吗?
-
Alex,填充到列长度的值也可以。
标签: oracle bash unix import export