Linux数据抽取shell脚本

本文介绍了一个使用Bash脚本执行SQL查询并保存结果到指定路径的文本文件的方法。脚本接收日期文件名和工作路径作为参数,通过sqlplus连接数据库执行SQL,并将结果输出到文件中,同时进行必要的格式调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/bash

datefile=$1
work_path=$2

start_time=`date +%Y%m%d%H%M%S`
#work_path=/home/oracle/fk_data
#数据库信息
DbCon=**********
file_date=`date +%Y%m%d`
filename=${work_path}/"$datefile"_${file_date}.txt

sqlinfo="select * from $datefile;"
echo "执行的sql: $sqlinfo"

echo "----------------  start to exec job   $start_time "

echo "----------------  connect to $DbCon and try to exec sql..."
 
 
sqlplus -S $DbCon<< EndSql
#行最大字符数
set line 20000
set pagesize 0
set feedback off
set heading off
set trimspool on
set trims on
set echo off
set colsep '|'
--set termout off
spool $filename
#这个地方写你想要查询的SQL
spool off
exit
EndSql
#去除文件开头的空格及中间的空白字符
sed -i 's/ //g' ${work_path}/"$datefile"_${file_date}.txt
end_time=`date +%Y%m%d%H%M%S`
echo "----------------  cmd end , please check te result $end_time"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值