同じバイトをグループ化して非常に大きなファイルのバイト数を計算する方法は? [コピー]

同じバイトをグループ化して非常に大きなファイルのバイト数を計算する方法は? [コピー]

私は、出力ファイルにどのバイト値がどのくらい頻繁に表示されるかを非常に大きい(使用可能なRAMよりも数倍大きい)統計を取得する方法を探しています。

A0 01 00 FF 77 01 77 01 A0

このファイルにA0バイトがいくつあるのか、01がいくつあるのかなどを知る必要があります。結果は次のとおりです。

A0: 2
01: 3
00: 1
FF: 1
77: 2

したがって、この質問はこの質問に非常に近いです。同じバイトをグループ化してファイル内のバイト数を計算する方法は?ただし、既存の答えのどれも大きなファイルには適用されません。私が理解しているように、すべての答えには少なくともテストしているファイルサイズと同じRAMが必要です(最大数回)。

したがって、複数のGBファイルを処理するために使用されるRaspberryなど、RAMが小さいシステムには答えが適用されません。

RAMが512MBしかない場合でも、すべてのファイルサイズを処理できる簡単なソリューションはありますか?

ベストアンサー1

一度に1バイトずつ読み、全体を保存する小さなC(またはPerl、Pythonなど)プログラムを書いてください。合理的なオペレーティングシステムでは、完全に脳のない言語は、合理的に効率的な方法でバッファリングやその他の操作を透過的に処理します。

おすすめ記事