Você não nos contou qual é o seu Unix e seu shell. O problema está provavelmente no início 0
que instrui printf
a interpretar o número como um número octal, o que não pode ser (devido aos 8 e 9 dígitos).
Basta remover o 0
inicial.
Eu quero converter um número decimal em um número hexadecimal. Eu usei o comando:
printf '%X\n' 053698180
Este comando está funcionando perfeitamente no servidor Linux. Mas jogando o erro abaixo quando tentei no UNIX:
printf: Error converting 053698180
053698180
Qual poderia ser o problema aqui?
Além disso, qual é a menor correção possível que pode ser feita aqui para que ela funcione no UNIX e no Linux?
Você não nos contou qual é o seu Unix e seu shell. O problema está provavelmente no início 0
que instrui printf
a interpretar o número como um número octal, o que não pode ser (devido aos 8 e 9 dígitos).
Basta remover o 0
inicial.