我目前正在編寫一個簡單的.sh腳本來解析匹配「o」的字符串的Exim日誌文件。目前,在查看output.txt時,每行(606行)上都印有0。我猜我的邏輯是錯誤的,因爲awk不會引發任何錯誤。awk腳本幫助 - 邏輯問題
這是我的代碼(更新了連接和計數器問題)。編輯:我已經從dmckee的回答中採用了一些新代碼,我現在正在使用舊代碼,以支持簡單性。
awk '/o'\''/ {
line = "> ";
for(i = 20; i <= 33; i++) {
line = line " " $i;
}
print line;
}' /var/log/exim/main.log > output.txt
任何想法?因爲'是電子郵件地址中的一個非法字符(並且在我們的數據庫中,只出現o'-prefixed名稱),所以我在電子郵件地址中查找「o」。
編輯2:按照評論的要求,這裏是一些期望輸出的消毒樣本:
[xxx.xxx.xxx.xxx] kathleen.o'[email protected] <kathleen.o'[email protected]> routing defer (-51): retry time not reached
[xxx.xxx.xxx.xxx] julie.o'[email protected] <julie.o'[email protected]> routing defer (-51): retry time not reached
[xxx.xxx.xxx.xxx] james.o'[email protected] <james.o'[email protected]> routing defer (-51): retry time not reached
[xxx.xxx.xxx.xxx] daniel_o'[email protected] <aniel_o'[email protected]> routing defer (-51): retry time not reached
我開始在我的套環20的原因是因爲20場之前,一切都只是標準記錄我的用途不需要的信息。我所需要的只是IP解決方案以及其他解決方案的全部內容(對於每個使用的郵件服務器,每個550錯誤的消息都不同,我正在編寫一個常用列表)
您是否有原始日誌文件中的單行? – 2008-10-01 20:00:26
我必須審查它(敏感數據那裏),但這裏是一個: 2008-09-28 04:50:43 1KisKj-0000tX-L0 == james.o'[email protected]路由延遲(-51):未達到重試時間 –
junkforce
2008-10-01 20:07:29