Menu
CoddyTech

使用管道和 grep

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

grep 命令与管道结合使用时会变得特别强大。你可以筛选任何命令的输出,准确找到需要的内容,而不是在文件中搜索。

想象一下,你想在目录列表中查找某个特定文件:

ls -l | grep "report"

这会详细列出所有文件,然后筛选出只包含 "report" 的行。这样,你就能直接找到目标结果,无需手动逐一查看。

将内容通过管道传给 grep 适用于任何会生成文本输出的命令。要查找与特定程序相关的正在运行的进程:

ps aux | grep "python"

你还可以将 grep 与你学过的其他命令串联起来。要统计包含特定单词的行数:

cat logfile.txt | grep "error" | wc -l

这会读取文件,筛选出包含 "error" 的行,然后统计行数。你之前学过的 grep 标志在管道中也一样适用:使用 -i 进行不区分大小写的匹配,或使用 -v 排除匹配项。

challenge icon

挑战

简单

文件 access.log 包含 Web 服务器的访问记录。使用管道筛选并统计返回 500 错误状态码的请求数量。

运行一条命令来:

  • 使用 cat 读取 access.log
  • 通过管道将内容传给 grep,筛选包含 500 的行
  • 通过管道将结果传给 wc -l,统计匹配的行数

提示:使用 | 符号将这三个命令连接起来。grep 命令会筛选输出,wc -l 会统计剩余的行数。

亲手试试

终端
quiz icon自我测试

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

基础知识中的所有课

自己练习: Terminal 在线编辑器