專案中需要乙個統計介面量的指令碼,於是嘗試著寫了第乙個awk指令碼。
過程不輕鬆,但是寫完了覺得很爽。哈哈
#############################################思路:
####1 按行讀取,需要判斷每條記錄的歸屬執行緒,並快取起來,
####2 每個執行緒的記錄列印都是有順序的,輸入報文》異常》輸出報文
####3 將輸入報文覆蓋快取,當第一次讀取到exception時,認為異常開始,將最近一次的輸入報文列印,
####4 異常全部列印完畢後,列印輸入報文
####注意:
####所有的快取都是按照執行緒名稱做得,類似於執行緒變數,互不影響,通過陣列實現
####
####使用:
####1 thread_key需要替換,不同的日誌不一樣
####2 input_key和output_key如不同也替換
####3 i***clude函式,如有需要可以修改不同的排除條件
#########################################
begin
#獲取執行緒名
function getthreadname(str)
}return thread_name;
}#判斷此行是否需要排除,後續可增加條件
function i***clude(str)
#判斷不需列印輸入輸出報文的異常
function needrequestmsg(str)
printf("+++++++++++++++++開始處理檔案[%s]+++++++++++++++++++\n", filename);
file_name = filename;
}# 獲取執行緒名
thread_name = getthreadname($0);
# 處理不需要列印輸入輸出報文的部分
if(needrequestmsg($0) > 0)
printf("---------end exception-%s-[%d]------------\n", thread_name, thread_exception_num[thread_name]);
}# 當此行中有關鍵字exception
if(index($0, "exception") > 0 && i***clude($0) == 0)
# 當此行沒有執行緒名稱,且不存在caused by關鍵字時,說明為異常被換行,列印上一行
if(index($0, thread_name) == 0 && index($0, "caused") == 0 && index($0, "at ") == 0)
# 所有exception的行都列印
body_exception[thread_name] = sprintf("%s\n%s", body_exception[thread_name], $0);
}# 存在關鍵字"at "的行列印
if(index($0, "at ") > 0 && index($0, "(") > 0)
# 當此行中存在輸出報文關鍵字,且已經開始乙個exception,列印輸入報文,exception體,輸出報文
if(index($0, output_key) > 0 && begin_exception_flag[thread_name] == "1") else
printf("---------end exception-%s-[%d]------------\n", thread_name, thread_exception_num[thread_name]);
# 輸出報文已列印,exception結束
begin_exception_flag[thread_name] = "0";
body_exception[thread_name] = "";
input_msg[thread_name] = "";
}# 當此行中存在輸入報文關鍵字時
if(index($0, input_key) > 0)
}# 快取當前行
row_cache = $0;
}end
我的第乙個爬蟲日誌
剛剛開始學習爬蟲,很多東西不懂,還望前輩們多多指教。總結流程 1 匯入相應的包 1 傳送 多頁在此不傳送頁碼,新編函式迴圈傳入新的頁碼 2 構建函式 1 傳送請求 2 伺服器的響應 3 讀取 編碼資訊 3 編寫正規表示式提取所需內容,括號內容具有唯一性 import urllib import ur...
我的第乙個shell指令碼
今天去某公司面試,做了一道這樣的筆試題。題目 假如日誌檔案有5種型別 error,debug,info,exception,ver 怎樣寫乙個指令碼讓他們歸類統計錯誤型別的次數?error abd debug ggsgfggfgfggf info 13445jflkjfllalss 鑑於昨天只看了一...
我在CSDN的第乙個記錄
就想下點東西 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展...