マイナスバイナリ

マイナスバイナリ

FileA2つのバイナリがあります FileC

ユーティリティをFileC = FileA + FileB使用すると、次のようになります。cat

取得する FileA にはどうすればいいですか?FileCFileB

PS:私はUbuntu Oneiricを使っています。

答え1

statプラットフォームに対応するサイズがあると仮定すると、FileA次のことができます。

dd if=./FileC of=./FileB bs=1 skip=$(stat -c %s ./FileA)

すべての種類のファイルで動作する必要があります。

答え2

どこを切るべきかを知る必要があります。バイナリファイルの場合、これは通常FileAまたはFileB

FileAでサイズを確認できますls -l。移植可能なスクリプトを作成する必要がある場合は、extractsizeを使用できます(またはls -lgo FileA | awk '{print $3; exit}'オプションのないPOSIX準拠以外のバージョンでは使用)。組み込みLinux以外の場合、サイズを取得するより簡単な方法は 。ls-g-ols -l FileA | awk '{print $5; exit}'stat -c %s FileA

サイズが決定したら、それを使用してtailファイルの2番目の部分を抽出できます。

tail -c +$((sizeA + 1)) <FileC

ファイルを同じチャンクに分割するには、このsplitコマンドを使用します。

関連情報