我将使用什么命令来查看文件中以我用 grep 找到的行开头的所有行
所以我想象类似尾巴的东西,但从我用 grep 识别的行开始。
例如,我正在查看日志,我可以识别其中包含时间的点。所以我想查看包含特定日期时间的日志行之后的所有日志行。
答案1
这应该可以做到:
sed -n -e "/pattern/,\$p" filename
答案2
grep 的 -A 选项可以做到这一点。正常用法是针对上下文后匹配,-B 表示上下文前火柴。 -m 选项限制匹配的数量。
grep -A1000000 -m1 <search> <file>
将输出最多 1000000 行上下文(要使此工作正常进行,只需确保该数字大于文件中的行数 - 如果您的文件长度超过 1000000 行,grep 可能不是正确的工具) 。以类似的方式,
grep -B1000000 -m1 <search> <file>
将打印出直到第一个匹配项(包括第一个匹配项)的所有行。 (据我所知,这不是这些选项的预期用途,而是它们工作方式的自然副作用:替代方案是使用 grep 以外的程序。)