最直接有效的方式是用 grep -n 显示匹配行及行号,如 grep -n "password" config.txt 输出“12:password = abc123”;可结合 -i、-r、--include 等选项增强功能,并注意引号包裹特殊字符、区分 grep 与 find 用途,以及用 -c/-a/-b 查看上下文。

用 grep -n 就行,这是最直接有效的方式。
基础用法:显示匹配行及对应行号
命令格式是:grep -n "关键词" 文件名。-n 选项会强制在每条匹配结果前加上行号,一眼就能定位位置。
- 比如查 config.txt 里所有出现
password的地方:grep -n "password" config.txt - 输出类似:
12:password = abc123,表示第 12 行含该词
常用搭配:让搜索更实用
单靠 -n 往往不够,结合其他选项能快速解决实际问题:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
-
忽略大小写:加
-i,如grep -ni "error" /var/log/syslog,能匹配 Error、ERROR、error -
递归查整个目录:加
-r,如grep -rn "TODO" ./src/,会在 src 目录及所有子目录中查找并标出行号 -
限定文件类型:用
--include避免搜到无关文件,例如grep -rn --include="*.py" "import os" .
注意几个易错点
有些细节不注意会导致结果不准或报错:
- 关键词含空格或特殊字符(如
$、*),务必用单引号或双引号包裹,否则 shell 会提前解析 - 别把
grep当find用——它查的是文件内容,不是文件名;想查文件名得用find -name - 正则符号如
^(行首)、$(行尾)要放在引号内,否则可能被 shell 吃掉
进阶小技巧:快速定位上下文
光看一行常不够,加 -C 可同时显示上下文:
-
grep -nC 2 "timeout" app.log会显示匹配行及其前后各 2 行,并给每行标上行号 - 也可分开用
-A 3(后 3 行)或-B 1(前 1 行),按需调整










