我正在尝试使用gawk将负十进制转换为最大长度为8的十六进制,如下所示:
echo -1 | awk '{printf "%08X\n", $1}'
在HP-UX 11.31计算机中,这给了我:
FFFFFFFF
在Linux机器中,通过gawk,这给了我:
FFFFFFFFFFFFFFFF
有没有办法用gawk来限制结果的长度?
感谢。
答案 0 :(得分:0)
您始终可以使用sprintf,然后检查它返回的字符串的长度。
res = sprintf("%08X", $1)
if (length(res) > 8) {
...
}