oneliner para converter strings de 32 bits e zeros em binário correspondente:
$ perl -ne 'print pack("B32", $_)' < instructions.txt > instructions.bin
o que faz:
-
perl -ne
irá iterar através de cada linha do arquivo de entrada fornecido no STDIN (instructions.txt
) -
pack("B32", $_)
terá uma lista de strings de 32 bits ($_
que acabamos de ler de STDIN), e convertê-lo em valor binário (você poderia alternativamente usar"b32"
se quisesse ordem crescente de bits dentro de cada byte em vez de descer bits ordem; vejaperldoc -f pack
para mais detalhes) -
print
produziria então esse valor convertido para STDOUT, que então redirecionamos para nosso arquivo binárioinstructions.bin
verifique:
$ hexdump -Cv instructions.bin
00000000 00 00 00 13 02 d1 20 83 00 73 02 b3 00 73 04 33 |...... ..s...s.3|
00000010 00 73 64 b3 00 00 00 13 |.sd.....|
00000018
$ xxd -b -c4 instructions.bin
00000000: 00000000 00000000 00000000 00010011 ....
00000004: 00000010 11010001 00100000 10000011 .. .
00000008: 00000000 01110011 00000010 10110011 .s..
0000000c: 00000000 01110011 00000100 00110011 .s.3
00000010: 00000000 01110011 01100100 10110011 .sd.
00000014: 00000000 00000000 00000000 00010011 ....