如果我在我的目標文件上執行這個grep,我會得到例如275。再現grep「我的模式」myfile.log |排序| uniq | wc -l in awk
但我想學習AWK所以嘗試這AWK:
awk 'BEGIN { count=0 } /my pattern/ { count++ } END { print count }' myfile.log
而這種打印效果與預期的275。
所以越來越雄心勃勃我創建了一個awk腳本是這樣的:
BEGIN {
print "Log File Analysis";
message=0;
events=0;
}
{
/message/ { messages++; }
/event/ { events++; }
}
END {
print "messages:\t" messages;
print "events:\t" events;
}
我得到一個語法錯誤,
$ awk -f test_learn.awk test_log.log
awk: test_learn.awk:16: /message/ { messages++; }
awk: test_learn.awk:16: ^syntax error
我在做什麼錯?
我用awk從MinGW的外殼在Windows 7
我想你已經有了一個額外的'''在那裏。因此'/ event/{events ++'}'應該是'/ event/{events ++; }' – Steve
對不起,這是一個粘貼錯誤到SO –