私はこれを除いて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