grep -c 可直接统计匹配行数,支持 -i 忽略大小写、-F 按字面匹配、-w 匹配完整单词、-E 用正则边界限定,兼顾准确与效率。

用 grep -c 就能直接统计匹配行数,最简单高效。
基础用法:统计匹配行数
grep -c "ERROR" 会输出包含 ERROR 的行总数量,不显示具体内容,只返回一个数字:
grep -c "ERROR" app.log
忽略大小写更稳妥
日志里可能有 error、Error、ERROR 等写法,加 -i 参数统一匹配:
grep -ci "error" app.log
匹配更精确的错误标识(如带方括号或空格)
如果要统计类似 [ERROR] 或 ERROR: 这样的格式,建议用固定字符串匹配(-F),避免正则特殊字符干扰:
grep -cF "[ERROR]" app.loggrep -cF "ERROR:" app.log
加 -F 表示按字面意思查找,比正则更安全,也更快。
排除干扰:只统计独立单词或特定上下文
如果“error”可能作为其他单词的一部分(比如 enderror、errors),可用 -w 匹配完整单词:
grep -cwi "error" app.log
这样 error 单独成词才计数,errors 也会被匹配(因 -w 按单词边界判断),若需严格匹配单数形式,可结合正则:grep -cE "\berror\b" app.log。

















