我想要的是取一个表示为字符串的整数,例如“1234”,并将其转换为一个名为int的文件,其中包含一个32位大端整数,值为1234。
我想出的唯一方法是
echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int
这有点讨厌!
有没有人知道更好的方法?
答案 0 :(得分:5)
一种稍微简单的方法是:
printf "0: %08X" 1234 | xxd -r > int
答案 1 :(得分:3)
echo 1234 | perl -e 'print pack("N", <STDIN>); > int
答案 2 :(得分:0)
这似乎在我的系统上产生相同的输出。务必检查perldoc -f pack
。
echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int