shell脚本对比txt文件行数和加载入库条数是否一致,oracle数据库

在工作中,如果基于oracle数据库的linux shell脚本的开发,校验txt数据文件入库的条数和txt本身的条数是否一致,可以使用如下方法实现,假设数据加载的log文件中会打印加载的条数,形如:100 rows successfully loaded.
如果没有打印,可以直接查询数据库。

#!/bin/bash
logName=/home/aaa.log
txtName=/home/aa.txt
lineNum=`cat -n ${logName} |grep successfully |awk '{print $1}'`
loadSum=$(sed -n ${lineNum}p $logName |awk '{print $1}')
txtSum=$(wc -l $txtName |awk '{print $1}')
msgDetail="条数不一致,数据文件条数为" `${txtSum}`
if [[ $loadSum == $txtSum ]];then
	echo "数据文件条数和成功加载入库条数一致,为"$txtSum"条"
	else
	#往数据库写入日志,${DB_TNS} 为数据库连接串
		sqlplus -S $username/$password@${DB_TNS} <<!
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
insert into test_log(id,txt_name,status,msgdetail) values(SHELL.NEXTVAL,'$txtName','F','$msgDetail');
exit
!
fi
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoEchoJava

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值