Dis*_*ame 8 dd shell-script binary
我需要创建一个只填充11111111.
我只知道如何创建零填充二进制文件
dd if=/dev/zero bs=18520 count=1
Run Code Online (Sandbox Code Playgroud)
你能告诉我应该使用管道中的什么命令来填充垃圾箱1吗?awk在这种情况下我该如何使用?
ilk*_*chu 15
也许最容易使用tr的从零转换/dev/zero到任何你想要的,然后用切成段dd或head或等。
这将写入 18520 个字节,所有位都是 1,因此值 0xff 或 255 或八进制的 377 作为输入必须是:
< /dev/zero tr '\000' '\377' | head -c 18520 > test.bin
Run Code Online (Sandbox Code Playgroud)
(要将十六进制或十进制转换为八进制,您可以使用printf "%o\n" 0xff等。)
要生成长度超过一字节字符串的流,我将使用 Perl:
perl -e '$a = "abcde" x 1024; print $a while 1' | head ...
Run Code Online (Sandbox Code Playgroud)
(当然你也可以使用"\xff"or "\377"。我在x 1024那里使用重复运算符主要是为了避免最小的小写。更改它可能会也可能不会影响它的性能。)
Gil*_*il' 13
不要使用dd bs=…:它不可靠。使用ibs=1 obs=1或使用不易出错的工具。大多数head实现可以计算字节数:
</dev/zero head -c 18520
Run Code Online (Sandbox Code Playgroud)
如果您希望文件填充零以外的单个字节,请将字节值更改为tr. 对于所有位一:
</dev/zero head -c 18520 | tr '\0' '\377'
Run Code Online (Sandbox Code Playgroud)