Menu
CoddyTech

使用标志运行 grep

本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 35 课,共 82 课。

添加标志后,你可以控制 grep 的搜索方式和显示内容,让它变得更强大。

最实用的 grep 标志:

-i:不区分大小写的搜索。无论是大写还是小写,都能匹配:

grep -i "error" server.log   # 匹配 error、Error 和 ERROR

-n:在每个匹配行旁显示行号:

grep -n "error" server.log
3:error: disk full
6:error: connection timeout

-c:只显示匹配行的数量,不显示行本身:

grep -c "error" server.log
2

-v,反转搜索,显示不匹配模式的行:

grep -v "info" server.log
error: disk full
warning: high memory usage
error: connection timeout

-r:在目录中的所有文件里递归地搜索:

grep -r "error" logs/   # 搜索 logs 文件夹中的所有文件

-l:只显示包含匹配项的文件名,不显示匹配的行:

grep -l "error" *.log

组合标志:

你可以将多个标志组合使用:

grep -in "error" server.log   # 不区分大小写,并显示行号
grep -vc "info" server.log    # 反向匹配,并统计不包含 info 的行数
challenge icon

挑战

简单

使用带标志的 grep,以三种不同方式检查 server.log:

  1. 查找所有包含 error 的行,并使用 -n 显示它们的行号
  2. 使用 -c 统计包含 info 的行数
  3. 使用 -v 显示所有不包含 info 的行

提示:依次运行这三条命令。每个标志都会改变 grep 呈现结果的方式。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Terminal 在线编辑器