我有一个很大的文本文件。
我需要迅速地从此文件中提取一堆行,例如从 #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