我有一个bash脚本将十六进制转换为二进制,但我想要8位而不管作为参数提供的数字。例如,十六进制00
应为00000000
而非0
或十六进制01
应为00000001
。这是脚本,但我无法弄清楚如何让bc
这样做。这是可能的,还是我应该手动完成?
这是我的剧本:
#!/bin/bash
for j in $@
do
BIN=$(echo "obase=2; ibase=16; $j" | bc )
echo $BIN
done
答案 0 :(得分:2)
我不知道bc
是否支持此类行为,但您可以替换
echo $BIN
与
printf "%08d\n" "$BIN"