有 Bash脚本,我用它从Oracle数据库导出一些数据并将其插入文本文件。
问题是当我将数据导出到文本文件时,输出文件中总会有一行我需要删除它。
需要在输出中删除------。
在参数
下面放置了Bash脚本sqlplus -s ${DB_CONNECTION} << EOF > temp.$$
set colsep ','
set pagesize 50000
set linesize 256
set trimspool on
set feedback off
set trim on
spool
--Query
spool off
输出将是:
SDATE ,ERROR_CODE ,STATUS ,PROCESS ,FAILURE_COUNT
----------,----------------------------------------,--------------------,--------------------------------------------------,----------------------------------------
答案 0 :(得分:3)
SET UNDERLINE OFF
SQL * Plus:版本12.2.0.1.0生产于5月30日星期三08:11:28 2018
版权所有(c)1982,2016,Oracle。保留所有权利。
上次成功登入时间:2018年5月30日星期三08:05:09 -04:00
连接到: Oracle Database 12c企业版12.2.0.1.0版 - 64位生产
SQL> set underline off
SQL> set pagesize 10
SQL> set linesize 80
SQL> col first_name format a20
SQL> col last_name format a20
SQL> select first_name, last_name from hr.employees fetch first 6 rows only;
FIRST_NAME LAST_NAME
Ellen Abel
Sundar Ande
Mozhe Atkinson
David Austin
Hermann Baer
Shelli Baida
6 rows selected.
SQL>
来自Docs
SET UND [ERLINE] { - | c | ON | OFF} 设置用于在报表中为列标题加下划线的字符。下划线字符不能是字母数字字符或空格。 ON或OFF打开或关闭下划线。 ON将c的值更改回默认值“ - ”。
当预格式化输出为On(SET MARKUP HTML PREFORMAT)时,仅在iSQL * Plus中支持SET UNDERLINE。
答案 1 :(得分:2)
如果要取消整个标题,请使用
set heading off
https://docs.oracle.com/database/121/SQPUG/ch_twelve040.htm#SQPUG082
如果要查看列名,而不是下面的行,请使用:
set underline off
https://docs.oracle.com/database/121/SQPUG/ch_twelve040.htm#SQPUG159
答案 2 :(得分:0)
我之前的解决方案是
sed -i '/-/d' temp
但最好是放
underline off