情形描述:最近在做一个ETL的项目,用的是CLoverETL,需要在拿到文件后对文件格式进行检验,以决定是否继续。

主要功能是检查每个文件中有几个“|”符号,项目中约定以该符号来作为分隔,所以检查每个文件每行的“|”的个数。没有问题才可以插入到数据库中。

说明:

breakline=10表示如果一个文件中超过10行的格式不对,则不再计算
试了下,CloverETL这款工具中支持的通配符非常有限,所以类似Hengda_Payment_*_*_*_*这样看起来很怪的匹配方式
check_delimitor(){
delimitor="|"
breakline=
path="${DATATMP_DIR}/bash_res.txt"
i=
while read line
do
num=$(echo $line|grep -o $delimitor|wc -l)
if [ $num != $ ];then
echo "$2|${i}|${NOW}" >> ${DATATMP_DIR}/bash_res.txt
if [ $i -gt $breakline ]
then
echo "****More than ${i} lines format wrong in $2****" >> $path
break
fi
fi
let i++
done < ${DATATMP_DIR}/$
} for file in `ls ${DATATMP_DIR}`
do
case $file in
Hengda_Member_*)
check_delimitor $file
;;
Hengda_Ticket_*)
check_delimitor $file
;;
Hengda_Payment_*_*_*_*)
check_delimitor $file
;;
Hengda_Payment_*)
check_delimitor $file
;;
Hengda_Transaction_Non_Tickets_*)
check_delimitor $file
;;
Hengda_Transaction_*)
check_delimitor $file
;;
Hengda_Item_Non_Tickets_*)
check_delimitor $file
;;
Hengda_Cinema_*)
check_delimitor $file
;;
Hengda_Film_*_*)
check_delimitor $file
;;
Hengda_Film_*)
check_delimitor $file
;;
Hengda_Refer_*)
check_delimitor $file
;;
*) echo "FILE NAME WRONG" ;;
esac
done

最新文章

  1. 报错:已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
  2. Java 内存管理
  3. WIn2003的IIS6解决IE11登录问题。
  4. POJ 3693 后缀数组
  5. 设计模式 命令-Command
  6. vs2010打开vs2012的sln文件
  7. Java中的数据类型及相互转换方法
  8. xp每天定时关机命令
  9. mysql各版本区别
  10. UVa 324 - Factorial Frequencies
  11. 201521123065《Java程序设计》第1周学习总结
  12. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
  13. php程序员的成长之路
  14. Solution for link error:Cannot Open File &#39;python27_d.lib&#39;
  15. springboot项目利用devtools实现热部署,改动代码自动生效
  16. Delphi IfThen语句
  17. ansible笔记(3):ansible模块的基本使用
  18. Java并发--Java线程面试题 Top 50
  19. gitbub感想
  20. 前端forEach在Array、map、set中的使用,weakset,weakmap

热门文章

  1. Android Studio Reference local .aar files
  2. Java网络应用编程
  3. python模块之os
  4. dede织梦后台如何修改?如何增加删除菜单?(
  5. webservice可以访问但是不能调用方法
  6. uva147 Dollars ——完全背包
  7. C#- 反射之 GetType()方法
  8. odoo.cli.main()做了什么?
  9. Android——数据库相关(课堂整理)
  10. 关于清除丢失贴图与IES文件