我目前正在处理大小为10 GB的CSV文件,需要根据用例动态编辑标题。
为此我正在使用:
sed -i '1,1s/id/id:ID(Person)/g' etc.
具有仅编辑标题所需的效果,但可能需要10秒才能完成。我想这是因为整个文件仍在流式传输,但我找不到阻止这种情况发生。
任何想法或正确方向的观点都将受到高度赞赏。
答案 0 :(得分:1)
sed
不是问题。问题是您正在流式传输10GB文件。如果这是您正在进行的唯一操作,sed
可能并不比任何其他基于行的实用程序(awk
等)差。
如果您经常这么做并且很长一段时间,您可以通过读取更大的数据块,在较低级别的语言中做得更好,允许阻止层为您优化磁盘访问。如果你保持“块”足够大的块块,但小到足以避免分页,你应该能够达到最佳位置。
对于1次转换,可能不值得。