从大型文本文件中读取行组

ben

我想从大型(〜870,000,000行)文本文件中提取某些行组。例如,在50行文件中,我可能需要3-6、18-27和39-45行。

通过浏览Stack Overflow,我发现bash命令是:

tail -n+NUMstart file |head -nNUMend

这是从NUMstart到NUMend的获取单行或多行的最快方法。但是,当读取多组线时,这似乎效率很低。通常,该技术没什么大不了的,但是对于如此大的文件,它将产生巨大的变化。

有没有比在每行中使用上述命令更好的方法了?我假设答案很可能是bash命令,但实际上对任何能最好地完成工作的语言/工具都是开放的。

赛勒斯

要显示sed的第3-6、18-27和39-45行:

sed -n "3,6p;18,27p;39,45p" file

还可以从文件中馈送sed。

文件内容foobar

3,6p 
18,27p 
39,45p

用法:

sed -n -f foobar file

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章