业务场景:很多时候,会突然需要分析一堆SQL里面用到那个数据系统里面的表,这对于没有工具来说是非常耗时间的,并且由于数据表间有依赖性,分析不准确会导致很多麻烦。所以这个脚本诞生了,由于效率还行且能用,我写完后就没有优化过。
环境:IBM的AIX LINUX系统,由于当时考虑到了通用性,所以用的命令都是常见的。
##规整SQL
echo "Analys....."
src_file=$1
##转换换行符为LF
cat $src_file|tr "\r\n" "\n" >$src_file_lf.txt
##去除/**/和--的内容
cat $src_file_lf.txt|sed 's/\/\*/~\/\*/g'|sed 's/\*\//\*\/~/g'|sed 's/--/~--/g'|tr "\n" "@"| tr "~" "\n"|sed '/\/\*/d' | tr "@" "\n"| sed '/--/d'>temp.txt
##解决多空行,(,表名),多空格排列问题
cat temp.txt| tr -s