博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证文件中记录总行数是否与数据库文件同名表记录总数是否一致
阅读量:5925 次
发布时间:2019-06-19

本文共 937 字,大约阅读时间需要 3 分钟。

 #!/bin/sh

# csv文件目录
cd /u01/app/oracle/oradata/ext
# 获得扩展名为.csv的所有文件列表
ls -l *.csv|awk '{print $9}'| while read line
do
  # 输出扩展名为.csv的所有文件名追加到文件countstat.txt
  echo ${line} >> /root/countstat.txt
  # 输出扩展名为.csv的每个文件记录行数追加到文件countstat.txt
  cat ${line} | wc -l >> /root/countstat.txt
  # 获取删除扩展名.csv后的数据库中表名称
  TABLE=`echo ${line}|awk -F "." '{print $1}'`
  # 输出oracle表名称追加到文件countstat.txt
  echo $TABLE >> /root/countstat.txt
  # 查询oracle数据库中表记录总数追加到文件countstat.txt
  su - oracle -c "sqlplus /nolog <<EOF
  conn test/test
  select count(*) from $TABLE;
  exit;
  EOF
  ">> /root/countstat.txt
done
# 过滤文件内容,删除不需要的行内容
sed '/^SQL/d' /root/countstatbak.txt |sed '/^$/d'|sed '/^Copyright/d'|sed '/^With/d'|sed '/^-/d'|sed '-e /COUNT/d'|sed 's/^[[:space:]]*//g'> /root/result.txt
:<<COMMENT 
/^SQL/d 删除所有SQL开头的行
/^$/d 删除文件中的所有空行
-e /COUNT/d 删除包含COUNT字符的所有行,无论匹配字符在行首、行中或者行尾什么地方
s/^[[:space:]]*//g 删除行首空格
COMMENT
本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/1170001

转载地址:http://ldovx.baihongyu.com/

你可能感兴趣的文章
段落排版--行间距, 行高(line-height)
查看>>
Wpf控件ListBox使用实例2
查看>>
用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件
查看>>
《随笔记录》20170310
查看>>
CentOS 7 Root用户密码重置 2017-04-02
查看>>
linux下永久添加静态路由
查看>>
Crowbar - SIMILE
查看>>
【转】Loadrunner入门(《软件性能测试过程详解与案例剖析》)
查看>>
hdu1387之queue应用
查看>>
QEMU KVM Libvirt手册(11): Managing Storage
查看>>
mysql总结
查看>>
预定义变量 - PHP手册笔记
查看>>
最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
查看>>
李洪强iOS开发之- 实现简单的弹窗
查看>>
js中关于Blob对象的介绍与使用
查看>>
IE不能直接顯示PDF的原因分析和解決方法
查看>>
Windows Phone 7 系统主题颜色RGB和Hex值
查看>>
网站分析系统
查看>>
Python应用02 Python服务器进化
查看>>
表格高亮
查看>>