如何从 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 中的蓝色虚线建议下划线?