のASCII文字列のオフセット。各レコードはバイナリデータの後に(バイナリ)ヘッダが続きます。バイナリヘッダ内には、80文字のASCII文字列があります。どこかの道に沿って、ファイルを書き込むの私のプロセスは少しは台無しと私は各レコードが実際にどのくらい検査することで、この問題をデバッグしようとしていました。「グレップは」私は単純に一緒に連結一連のレコードですバイナリデータファイルを生成していたバイナリファイル
Thisは非常に関連すると思われるが、私はPerlを理解していないので、私は仕事にそこに受け入れられた答えを得ることができていません。他の回答私がコンパイルしたが、それは私がそれを16進文字列を供給したいと私はむしろちょうど私がそれをASCII文字列を与えることができ、それがバイナリデータでそれを見つけるツールを持っていると思いますbgrep
を指し、印刷文字列と見つかったバイトオフセット。言い換えれば
tool foobar filename
または
tool foobar < filename
、その出力は次のようなものです:
foobar:10
foobar:410
foobar:810
foobar:1210
...
例えば一致した文字列と一致が開始されたファイル内のバイトオフセット。この例の場合、Iは各レコードは400バイト長であることを推測することができます。
他の制約:正規表現で検索する
- 能力はクールですが、私はこの問題のために
- 私のバイナリファイルを、それを必要としない(3.5GB)大きいですので、私はしたいのですが可能であれば、ファイル全体をメモリに読み込まないようにしてください。
ARGV!私は英語の文法の習熟が、どんな点で泥沼に入ったのか分かりません。私のためにそれを修正していただきありがとうございます@ケビン – mgilson