从大文本文件中提取几行

从大文本文件中提取几行

我有一个很大的文本文件。

我需要迅速地从此文件中提取一堆行,例如从 #14600 到 #14700,作为单独的文件。

怎么办呢?

答案1

使用sed

sed -n 14600,14700p filename > newfile

在哪里:

  • p:打印出模式空间(到标准输出)。该命令通常仅与 -n 命令行选项结合使用。

  • n:如果未禁用自动打印,则打印模式空间,然后无论如何,用下一行输入替换模式空间。如果没有更多输入,则 sed 退出而不处理任何其他命令。

答案2

您可以使用sed以下方法获得这些结果:

sed -n '14600,14700p;14700q' largefile

答案3

老式:

tail -n +14600 filename | head -n 100

以及节省内存的变体:

head -n 14700 filename | tail -n +14600

答案4

使用 awk

awk 'NR>=14600&&NR<=147000' filename

相关内容