grep命令是Linux/Unix系统中用于文本搜索的利器,能快速过滤文件内容,核心功能包括:关键字匹配、正则表达式支持、多文件搜索以及结果高亮显示。掌握grep可大幅提升命令行操作效率。
1. 基础搜索
- 单文件搜索:
grep "关键词" 文件名
(如grep "error" log.txt
) - 忽略大小写:加
-i
参数(如grep -i "warning" file
) - 显示行号:加
-n
参数(如grep -n "success" data.log
)
2. 正则表达式
- 模糊匹配:
^
匹配行首(如grep "^start" file
)$
匹配行尾(如grep "end$" file
)
- 通配符:
.
匹配任意字符(如grep "f.x" file
匹配"fix""fox"等)
3. 多文件与目录操作
- 批量搜索:
grep "pattern" *.log
(当前目录所有.log文件) - 递归搜索目录:加
-r
参数(如grep -r "function" /project/
)
4. 高级筛选
- 反向匹配:
-v
排除含关键词的行(如grep -v "debug" file
) - 统计匹配次数:
-c
参数(如grep -c "404" access.log
) - 上下文查看:
-A 2
显示匹配行后2行-B 2
显示匹配行前2行
5. 结果优化
- 颜色高亮:
--color=auto
(如grep --color "important" notes.txt
) - 静默模式:
-q
仅返回状态码,用于脚本判断
提示:结合管道符(|
)可链式处理数据,例如cat file | grep "key" | sort
。熟练使用grep能让你在日志分析、代码调试等场景中事半功倍。