我有一个由几行组成的大文件。我需要根据大小将文件分成块(比如将 1 个文件分成 4 个部分),但我不需要将行分成 2 个部分(每行应该完全存在于一个块中),然后将这些块给每个要处理的线程和处理后我将再次重新组装所有块。主要是我想减少文件内容的处理时间(我在文件文本中做了一些替换)。
解决这个问题的最佳方法是什么?我想到的是根据大小到达块的结束字节,如果结束字符不是行尾,请继续阅读,直到我得到行尾并存储该部分。
任何建议或更好的算法都相同。感谢你的帮助。
编辑:
此外,整个内容都在一个变量中,我怎样才能到达变量中的某个字节?
编辑:根据用户的建议,使用适当的英语和问题陈述再进行一次编辑:
问题陈述:
我在 perl 中的变量(标量)中有一些数据(整个 html 页面内容)假设 $str,数据由几行组成(大约 1762899 行)我需要将标量中的数据分成更小的块(有一些来自原始的行)基于某种长度,如 $str1、$str2、$str3、$str4,如果我加入这些 var,我会得到完整的内容。
要求:
我需要上面的 strs,所以我可以把它们交给线程,在所有线程完成后,我将加入所有这些以取回全部内容。
我的理解:
我将使用 substr 将数据从 char 获取到 char 但我需要确保我在 substr 中获得的最后一个 char 是换行符。在这种情况下如何处理?
请需要解决方案。谢谢。