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

Posted

技术标签:

【中文标题】如何从 Sqlplus 输出中删除下划线【英文标题】:How to Remove the underline from Sqlplus output 【发布时间】:2018-05-30 12:03:58 【问题描述】:

我使用 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
----------,----------------------------------------,--------------------,--------------------------------------------------,----------------------------------------

【问题讨论】:

【参考方案1】:

设置下划线关闭

SQL*Plus:2018 年 5 月 30 日星期三 08:11:28 发布 12.2.0.1.0 生产

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

上次成功登录时间:2018 年 5 月 30 日星期三 08:05:09 -04:00

连接到: Oracle Database 12c Enterprise Edition Release 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

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

只有在预格式化输出为 On (SET MARKUP html PREFORMAT) 时,iSQL*Plus 才支持 SET UNDERLINE。

【讨论】:

【参考方案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

【讨论】:

【参考方案3】:

我之前的解决方案是

sed -i '/-/d' temp

但最好的还是放

underline off

【讨论】:

以上是关于如何从 Sqlplus 输出中删除下划线的主要内容,如果未能解决你的问题,请参考以下文章

如何从活动导航链接中删除悬停时不必要的附加下划线?

如何从 v-text 文件或 v-input 文件中删除下划线

如何从 Material-UI 中删除 TextField 的下划线? [复制]

如何从 Apple 键盘听写中删除 TextView 中的蓝色虚线建议下划线?

从 DropdownButtonFormField 中删除下划线

iOS 8:从 UITableViewRowAction 中删除下划线