標籤:aix sql shell
老大讓我把日誌中的資訊歸類總結,好麻煩,寫了這個指令碼協助工作。
需改進:1.抓取日誌時間,只需要最後一次的時間,而這個指令碼全部會抓到
2.需要兩個時間的差值(比如15:23:34與23:23:34),沒有完成
3.aix好不習慣
#!/bin/ksh#進入目標檔案目錄cd /user/lyb#輸入識別欄位echo "開始時間" "結束時間" "客戶組" "客戶數量" >> /user/file10#for i in "1 2 3 4 5 6 7 8 9 10 11 12"while [ true ]doecho "Please input the filename"#變數名為檔案名稱,read -p不好使read filename #取出需要的欄位,當檔案中有多個相同欄位時,沒有判斷條件s1=`grep "接收到註冊響應訊息包,開始執行任務解析" $filename | sed ‘s/\..*//g‘`s2=`grep "終止任務處理完畢,服務退出" $filename | sed ‘s/\..*//g‘`s3=`grep "載入客戶組.*使用者" $filename | sed ‘s/^.*\[//g‘ | sed ‘s/\].*$//g‘`s4=`grep "載入了.*個使用者" $filename | sed ‘s/^.*\[//g‘ | sed ‘s/\].*$//g‘`#將取出的欄位輸入到檔案echo "$s1" "$s2" "$s3" "$s4" >> /user/file10 done
#計算時間差sql語句
#select round((to_date(‘2014-11-13 12:22:23‘,‘yyyy-mm-dd hh24:mi:ss‘)-to_date(‘2014-11-13 12:12:32‘,‘yyyy-mm-dd hh24:mi:ss‘))*24*60) time from dual;
日誌中抓取特定欄位shell指令碼