Bash拡張を使用して、可能なすべての16進数の組み合わせを表示する方法があるかどうか疑問に思います。バイナリに拡張できます。
基本2では:
echo {0..1}{0..1}{0..1}
次を返します。
000 001 010 011 100 101 110 111
10進基準:
echo {0..9}{0..9}
次を返します。
00 01 02...99
しかし、16進数で表現すると、次のようになります。
echo {0..F}
繰り返す:
{0..F}
答え1
範囲を2つの別々の{0..F}
範囲に分割するだけです{0..9}
。{A..F}
$ printf '%s\n' {{0..9},{A..F}}{{0..9},{A..F}}
00
01
...
FE
EF
答え2
使用printf
:
$ printf '%.2x\n' {0..255}
書式文字列は、%.2x
出力をゼロで埋められた2桁の小文字の16進数(%02x
同じ操作を実行)で書式設定することを意味します。
大文字が必要な場合はを使用してください%.2X
。
Bashは、範囲中括弧拡張のASCII文字間の範囲、または下が10の整数範囲のみを理解します。
答え3
可能ですが良くありません。
echo {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
私が知る限り、bash
16進範囲の概念はありません。