나는 이것을 제외한 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