如何从 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
有 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