文件名:comment.sh
路径:$HOME/ggscript/ggcomment
功能:该脚本基于数据库每月大批量注释源端表进行数据清理,要求数据同步配合注释大量配置表而设计
通过edit脚本选择并调用
日志路径:$HOME/gglog/ggcomment
#!/bin/bash backuptime=`date +%Y%m%d-%H%M` echo "This script is used to annotate the specified table!(created by renyi)" echo $backuptime > ''$HOME'/gglog/ggcomment/InsertLog-'$backuptime'.log' read -n 1 #输入需要进行批量注释操作的E进程文件名(prm结尾) ls -lrt $HOME/ggserver/dirprm/e*.prm read -p "Please enter the prm file name:" val #输入你需要注释的表名,不要加TABLE和分号 echo "Please Enter the table you need to annotate" read -n 1 vi annotmp echo "---annotate table --------" > ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log' cat annotmp >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log' #备份prm配置文件 cp $HOME/ggserver/dirprm/$val $HOME/ggserver/dirprm/bak/$val.$backuptime.bak echo "backup the '$val' to the '$HOME/ggserver/dirprm/bak/$val.$backuptime.bak'" >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log' #选择操作类型 echo ch echo "Operating table you want to belong to what state?" select ch in "parameter" "noparameter" "REPLICAT" "exit" do #全部需注释表带有参数 case $ch in "parameter") sed 's/^/TABLE /' annotmp > table1 sed 's/$/,/' table1 > table2 break; ;; #全部需注释表不带有参数 "noparameter") sed 's/^/TABLE /' annotmp > table1 sed 's/$/;/' table1 > table2 break; ;; "exit") echo "process break" exit 2; ;; *) echo "Please select your choice :"1.parameter" "2.noparameter" "exit"" ;; esac done; echo $TAL i=1 num=`sed -n '$=' table2` #注释操作 while [ "$i" -le "$num" ] do TAL=`sed -n $i'p' table2` # echo $TAL # echo --$TAL sed "s/$TAL/--$TAL/g" $HOME/ggserver/dirprm/$val > tmp2 cat tmp2 > $HOME/ggserver/dirprm/$val ((i++)); done echo "process complete" >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。