Shell
將儲存為 ASCII 的二進制數據轉換為二進制
我有大量二進制數據以 ASCII 文本形式儲存在一個文件中,如下所示:
0b 0000 0001 0b 0000 0000 0b 1111 0001 etc
我如何將其轉換為原始二進制比特流,並將其保存到磁碟?
這可以用標準的 unix 工具來完成嗎?
尚未完全充實這一點,但請嘗試以下操作:
$ cat demo.sh #!/bin/bash while read bb nibble1 nibble2 do byte=$(printf "%s%s" ${nibble1} ${nibble2} ) hexstr=$(printf '\\\\x%02x' $((2#${byte})) ) eval printf "$hexstr" done < infile > outfile
使用您的範例輸入:
$ ./demo.sh $ xxd outfile 00000000: 0100 f1 ... $