所有我对Shell Scripting都是新手。我正在测试一个示例报告,其中我试图将嵌入在shell脚本中的sql查询的输出假脱机。这是我的代码
#!/bin/sh
ORACLE_ACCESS=hr/hr@xe
# Report file location
FILE_LOCATION=/home/$USER/Documents/loaddata/
#File Name
FILE_NAME=Report_`date +%y%m%d`.csv
sqlplus -s $ORACLE_ACCESS <<EOF 2>log.txt
set serveroutout on
set echo off
set first_name format A120
spool ${FILE_LOCATION}${FILE_NAME}
select first_name,last_name
from employees;
exit;
EOF
sql_error=$?
if [$sql_error !=0]; then
echo "Error"
exit 1
fi
然而,我的格式输出非常糟糕。
以下是样本
FIRST_NAME LAST_NAME
FIRST_NAME LAST_NAME
Harrison Bloom
亚历克西斯公牛
Anthony Cabrio
Gerald Cambrault
Nanette Cambrault
约翰陈
凯莉钟
Karen Colmenares
我的预期输出应该如下所示
First_name Last_name 阿特拉斯莱文 John Doe
有人可以帮忙吗?
答案 0 :(得分:0)
您的预期输出是否
First_name Last_name
Atlas Levine
John Doe
如果是这样,您可以使用set pagesize 10000
或类似的东西,以便标题不会重复。如果您想跳过标题,可以将其设置为0
您可以参考Formatting output of queries in SQLPlus中的答案和链接以及许多其他类似问题