我有一个文本文件a.txt,其中每行包含2个数字,如下所示:
1234 5678
现在我想将a.txt的内容从文本转换为二进制,这意味着数字不再是文本,而是二进制表示,可以od -tu4
查看。
我如何通过bash
?
答案 0 :(得分:5)
这是一个使用AWK执行您想要的shell脚本。将以下内容放入文件(hex2bin.awk):
#!/usr/bin/awk -f
function dec2bin(n){
for(i=0;i < 4; i++){
printf("%c", n % 256);
n = int(n / 256);
}
}
{ dec2bin($1); dec2bin($2);}
使文件可执行(chmod a+x hex2bin.awk
)
然后运行它:
./hex2bin.awk a.txt | od -tu4
0000000 1234 5678
0000010
这读取两列以ASCII表示的十进制数字,并将它们打印成32位小端二进制文件。