Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ddコマンドでNULL(0x00)埋めデータをつくる

実際のところ

100バイトのファイルを生成する場合は以下のように。
bsがバイト数、countが繰り返しで、出力を指定するifが0x00を延々と出力する/dev/nullなので
期待した出力が得られます。

dd bs=100 count=1 if=/dev/zero of=file1

ためしにhexdumpで見ると、こんな感じ。
"*"飛ばしも機能してますね。

$ cat file1 | hexdump 
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000060 00 00 00 00                                    
0000064

$ cat file1 | hexdump -v
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000060 00 00 00 00                                    
0000064


I2CのCLIツールみたいなログをddコマンドを併用して作る場合、以下のように。

$ seq -w 40 | dd cbs=10 conv=block 2> /dev/null | tr " " "-" | dd cbs=50 conv=unblock 2> /dev/null 
01--------02--------03--------04--------05--------
06--------07--------08--------09--------10--------
11--------12--------13--------14--------15--------
16--------17--------18--------19--------20--------
21--------22--------23--------24--------25--------
26--------27--------28--------29--------30--------
31--------32--------33--------34--------35--------
36--------37--------38--------39--------40--------

参考もと

www.atmarkit.co.jp