数行からなる大きなファイルがあります。サイズに基づいてファイルをチャンクに分割する必要があります(たとえば、1つのファイルを4つの部分に分割する)が、2つの部分に分割する行は必要ありません(各行はチャンクに完全に存在する必要があります)。処理する各スレッドと処理後、すべてのチャンクを再度アセンブルします。主にファイルの内容の処理時間を短縮したい(ファイルのテキストを少し置き換えます)。
この問題を解決するための最良のアプローチは何でしょうか。私が念頭に置いているのは、サイズに基づいてチャンクの最後のバイトまで到達することです。最後の文字が行の終わりでない場合は、行の終わりを取得してその部分を格納するまで読み取りを続けます。
同じ上で提案やより良いアルゴ。あなたの助けに感謝。
編集:
また、内容全体が変数に含まれていますが、変数の特定のバイトに到達するにはどうすればよいですか?
編集:ユーザーが提案したように、適切な英語と問題の説明を使用してもう1つ編集します。
問題文:
私はperlの変数(スカラー)にいくつかのデータ(htmlページのコンテンツ全体)を持っています$ strを想定し、データはいくつかの行(約1762899行)で構成されていますスカラーのデータをより小さなチャンクに分割する必要があります(いくつかの元の行)$ str1、$ str2、$ str3、$ str4のような長さに基づいて、これらの変数に参加すると、完全なコンテンツが取得されます。
要件:
上記のstrが必要なので、スレッドに渡すことができます。すべてのスレッドが完了したら、これらすべてを結合して、コンテンツ全体を元に戻します。
私の理解:
substrを使用してcharからcharにデータを取得しますが、最初に、substrで取得する最後のcharが改行文字であることを確認する必要があります。この場合のアプローチ方法は?
解決策が必要です。ありがとう。