command-line - 如何 "grep"出文件的特定行范围

标签 command-line grep

很多时候我会grep -n任何文件来查找我要查找的内容。假设输出是:

1234: whatev 1
5555: whatev 2
6643: whatev 3

如果我想提取 1234 和 5555 之间的行,有没有工具可以做到这一点?对于静态文件,我有一个脚本,它对文件进行 wc -l 操作,然后进行数学运算,用 tail 和 head 将其拆分出来,但这对于不断变化的日志文件来说效果不佳正在写信给。

最佳答案

尝试使用上面提到的 sed http://linuxcommando.blogspot.com/2008/03/using-sed-to-extract-lines-in-text-file.html 。例如使用

sed '2,4!d' somefile.txt

somefile.txt 的第二行到第四行打印。 (并且不要忘记检查 http://www.grymoire.com/Unix/Sed.html ,sed 是一个很棒的工具。)

关于command-line - 如何 "grep"出文件的特定行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2914197/

相关文章:

linux - 如何替换linux中文件中包含 "/"的字符串?

php - 如何 grep 目录中 "$_POST"或 "$_GET"和 "include"的所有文件

regex - Grep(或者可能是正则表达式)在匹配之前或之后检查行上的模式

windows - 如何在安装时而不是每次启动时一劳永逸地将参数传递给 Windows 服务

python - 有没有办法以 Octave 为单位指定命令行宽度?

linux - 在 Linux 中,是否有将 CSV 文件转换为 SQLite 文件的命令?

awk - 用于 UTF-16 二进制文件的 grep 和 tail -f - 尝试使用简单的 awk

windows - cmd 环境变量行为不清楚

python - 在没有 python 命令的情况下在终端中运行 python 脚本

regex - 在 grep/ack 中转义括号