변수 값을 16진수로 인쇄하는 방법은 무엇입니까?

변수 값을 16진수로 인쇄하는 방법은 무엇입니까?

나는 이것을 제외한 printf의 16진수 연산의 모든 변형을 찾을 수 있는 것 같습니다.

주로 printf를 사용하여 구축한 텍스트 파일에 html 16진수 색상 값을 보내려고 합니다.

개별 R, G 및 B 값을 계산할 수 있지만 일반적으로 10진수(범위 0-255)로 인쇄됩니다. a) 2자리 16진수 형식으로 b) 6자리 문자열로 연결하여 인쇄하려면 어떻게 해야 합니까?

예를 들어 변수값 ​​$R=254, $G=127, $B=0은 FE7F00으로 출력되어야 합니다.

답변1

printf' %x(소문자) 또는 %X(대문자)를 사용하여 너비를 2자로 강제하면 됩니다 .

#!/bin/sh

r=254
g=127
b=0

printf '%02X%02X%02X\n' "$r" "$g" "$b"

결과는 다음과 같습니다.

FE7F00

관련 정보