文件名: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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。