最基础高效的关键词过滤方式是直接用 grep "关键词" 文件名,无需 cat 管道;单关键词用双引号包裹并注意大小写;多关键词AND用管道串联,OR用 grep -E "a|b|c";-v 可反向过滤,-w 实现精确单词匹配。

直接用 grep "关键词" 文件名 就能快速过滤出包含该词的行,不用加 cat 管道——这是最基础也最高效的方式。
单个关键词过滤
语法简洁明确:grep "error" /var/log/syslog 会输出所有含 “error” 的行。注意两点:
- 关键词建议用双引号包裹,避免空格或特殊字符被 shell 解析出错
- grep 默认区分大小写;如需不区分,加
-i:例如grep -i "warning" app.log
多个关键词“同时出现”(AND 逻辑)
要求一行里必须包含所有关键词,常用管道串联:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
-
grep "timeout" access.log | grep "500"→ 找同时含 timeout 和 500 的请求 - 可继续追加:
... | grep "192.168.1.",适合逐步缩小范围
多个关键词“任一匹配”(OR 逻辑)
满足任意一个就输出,推荐用 -E(即扩展正则):
grep -E "error|warn|fail" system.log- 等价写法:
egrep "error|warn|fail" system.log,但统一用grep -E更规范 - 如果关键词含特殊字符(如点、括号),需转义或改用
-F固定字符串模式
排除干扰内容(反向过滤)
用 -v 跳过不想看的行,常用于日志清理:
-
grep "connect" nginx.log | grep -v "success"→ 找 connect 但不成功的内容 - 排除多个词:
grep -v "debug\|info" app.log(注意|要转义) - 结合
-w可精确匹配单词,避免误中子串(如grep -w "port" config.conf不会匹配 “sport”)

















