在文件中查找单词并显示在下方和上方吗? 2024-6-2 • grep find top 可能重复: 如何 grep 2 或 3 行,其中一行包含我想要的文本,其他行位于其下方? 假设我有一个文件。我想在其中找到一个特定的单词并显示该行。 有什么方法可以让我做到上述操作,同时还能包括结果行中上面和下面的 10 行? 我该如何使用 Linux 命令行来做到这一点? 答案1 假设你的文件名为filename,你的正则表达式是foo,并且想要打印匹配的行以及匹配行上方和下方 10 行以内的行: grep -C10 foo filename 更一般地,对于n匹配前后的行: grep -Cn foo filename 此解决方案可与 GNU grep 配合使用(Ubuntu 和几乎所有其他基于 Linux 的操作系统都具有该功能)。不过-C,并非所有grep实现都支持该标志。 打印行仅有的在匹配之前或之后,分别使用-Bn或开关,其中是要在匹配之前或之后添加的行数。有关替代方法的更多信息,请参阅-Ann这个相关问题(感谢福斯自由以注意到相似性)。 相关内容 我可以使用 Mesa 18.1.1 作为英特尔图形驱动程序,并使用 nvidia 415.25 图形驱动程序作为 nvidia 940mx,并使用 sudo prime-select 切换它们吗? IE7 的 GPO 设置不生效 为什么 robocopy 说这个文件较旧? Bittorrent 客户端 Ubuntu 14.04.1 LTS 32 位 复制 Excel 过滤器中的选定项目 Ubuntu 20.04 无法在 5.8.0-63-generic 中启动 如何修复子图与子标题不对齐的问题 如何在 .sty 文件中定义投影仪幻灯片 Nvidia 2070 超级驱动程序无法与 Ubuntu 18.04 LTS 兼容 Linux下的网络配置