如果我在我的目标文件上执行这个 grep,我会得到例如 275 作为结果。
但我想学习 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
我究竟做错了什么?
我在 Windows 7 上使用来自 MinGW shell 的 awk。