如何从 Sqlplus 输出中删除下划线

How to Remove the underline from Sqlplus output

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
----------,----------------------------------------,--------------------,--------------------------------------------------,----------------------------------------

如果要隐藏整个标题,请使用

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

关闭下划线

SQL*另外:12.2.0.1.0 版本于 5 月 30 日星期三生产 08:11:28 2018

版权所有 (c) 1982、2016,甲骨文。保留所有权利。

上次成功登录时间: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

设置[ERLINE] {- | c |开 |离开} 设置用于在报告中为列标题加下划线的字符。下划线字符不能是字母数字字符或白色 space。 ON 或 OFF 打开或关闭下划线。 ON 将 c 的值改回默认的“-”。

SET UNDERLINE 仅在 iSQL*Plus 中支持预格式化输出(SET MARKUP HTML PREFORMAT)。

我之前的解决方案是

sed -i '/-/d' temp

不过最好是放

underline off