Shell-Script

如何創建具有特定值的二進製文件?

  • April 19, 2021

我需要創建一個僅用11111111.

我只知道如何創建零填充二進製文件

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

你能告訴我我應該使用管道中的什麼命令來填充垃圾箱1嗎?在這種情況下我該如何使用awk

可能最容易使用tr將零轉換為/dev/zero您想要的任何內容,然後使用ddorhead或諸如此類切割成長度。

這將寫入所有位為 1 的 18520 個字節,因此作為輸入的八進制值 0xff 或 255 或 377 必須是:

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

(要將十六進製或十進制轉換為八進制,您可以使用printf "%o\n" 0xffor 這樣的。)


要生成超過一字節字元串的流,我會使用 Perl:

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

(當然你也可以使用"\xff"or"\377"那裡。我在那裡使用了重複運算符x 1024,主要是為了避免最小的小寫入。更改它可能會或可能不會影響其性能。)

引用自:https://unix.stackexchange.com/questions/645865