在 Linux 下“过滤 JS 日志内容”通常分几种场景,下面按最常见用法给你总结,基本都是命令行工具。
grep 过滤 JS 日志grep "error" app.log
忽略大小写:
grep -i "error" app.log
显示行号:
grep -n "TypeError" app.log
反向过滤(不包含某内容):
grep -v "debug" app.log
多个关键字(或):
grep -E "error|warn|exception" app.log
grep -E "Uncaught|ReferenceError|TypeError|SyntaxError" app.log
grep "\.js" access.log
或:
grep -E "\.js\?" access.log
tail 实时看 JS 日志tail -f app.log | grep "js"
只看错误:
tail -f app.log | grep -i "error"
jq 过滤 JSON 格式 JS 日志(非常常见)如果 JS 日志是 JSON:
{"level":"error","msg":"TypeError"}
过滤 error:
jq 'select(.level=="error")' app.log
只看 msg:
jq -r 'select(.level=="error") | .msg' app.log
awk 精确提取字段例如日志格式:
2026-01-21 10:00:00 ERROR js: TypeError
提取 ERROR 之后的内容:
awk '/ERROR/ {print $1, $2, $5}' app.log
grep -E "node|js" server.log
grep -E "\.js" access.log | awk '{print $7}'
实时看 JS 报错:
tail -f app.log | grep -E "Uncaught|TypeError|ReferenceError"
只统计 JS 错误数量:
grep -c "TypeError" app.log
如果你能贴一段 JS 日志样例(或说明是 Node / Nginx / 浏览器 / 前端构建日志),我可以直接帮你写精准的过滤命令。