10진수를 16진수로 변환하고 싶습니다. 나는 다음 명령을 사용했습니다.
printf '%X\n' 053698180
이 명령은 Linux 서버에서 매우 잘 작동합니다. 그러나 UNIX에서 시도하면 다음 오류가 발생합니다.
printf: Error converting 053698180
053698180
여기서 무엇이 잘못되었을 수 있습니까?
또한 UNIX와 Linux 모두에서 작동하도록 하기 위해 여기서 수행할 수 있는 가장 작은 수정 사항은 무엇입니까?
답변1
당신은 유닉스와 쉘이 무엇인지 우리에게 말하지 않았습니다. 문제는 숫자를 8진수로 해석하도록 0
지시하는 선행 에 있을 수 있지만 printf
, 그렇지 않습니다(8자리와 9자리가 있기 때문에).
앞의 0
.