我有一个文本文件 a.txt,其中每一行由 2 个数字组成,如下所示:
1234 5678
现在我想将a.txt的内容从文本转换为二进制,这意味着数字将不再是文本,而是二进制表示,可以通过od -tu4
.
我怎样才能做到这一点bash
?
我有一个文本文件 a.txt,其中每一行由 2 个数字组成,如下所示:
1234 5678
现在我想将a.txt的内容从文本转换为二进制,这意味着数字将不再是文本,而是二进制表示,可以通过od -tu4
.
我怎样才能做到这一点bash
?
这是一个使用 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 位小端二进制。