特定の値を持つバイナリファイルを作成するには?

特定の値を持つバイナリファイルを作成するには?

充填のみを作成する必要があります11111111

ゼロパディングされたバイナリファイルを作成する方法だけを知っています。

dd if=/dev/zero bs=18520 count=1

Beanを埋めるためにパイプラインでどのコマンドを使用する必要があるかを教えてください1awkこのような場合にはどのように使用する必要がありますか?

ベストアンサー1

おそらくゼロを希望の値trに変換してから、またはなどを使用して長さを切り取るのが最も簡単な方法です。/dev/zeroddhead

これは18520バイトを書き、すべてのビットは1なので、値は0xff、255、または8進数で377です。入力は次のようにする必要があるからです。

< /dev/zero tr '\000' '\377' | head -c 18520 > test.bin

(16進数または10進数を8進数に変換するには、などを使用できますprintf "%o\n" 0xff。)


1バイト文字列より長いストリームを生成するには、Perlを使用します。

perl -e '$a = "abcde" x 1024; print $a while 1' | head ...

"\xff"(もちろん、またはそこでも使用できます"\377"。私は主に小さな書き込みを最小限に抑えるために繰り返し演算子を使用しています。x 1024これを変更するとパフォーマンスに影響を与える可能性があります。)

おすすめ記事