Você pode; você só precisa dividir o intervalo {0..F}
em dois intervalos separados {0..9}
e {A..F}
:
$ printf '%s\n' {{0..9},{A..F}}{{0..9},{A..F}}
00
01
...
FE
EF
Eu gostaria de saber se existe uma maneira de usar a expansão do bash para visualizar todas as possibilidades de combinação para um número de dígitos em hexadecimal. Posso expandir em binários
Na base 2:
echo {0..1}{0..1}{0..1}
Que devolve:
000 001 010 011 100 101 110 111
Na base 10:
echo {0..9}{0..9}
Que devolve:
00 01 02...99
Mas em hexadecimal:
echo {0..F}
Repita:
{0..F}
Usando printf
:
$ printf '%02x ' {0..255}
A string de formato %02x
diz para formatar a saída como um número hexadecimal de dois dígitos, minúsculas e cheio de zero.
Se você deseja maiúsculas, use %02X
.
O Bash apenas entende intervalos inteiros da base 10 ou intervalos de caracteres alfabéticos em expansões de chaves de intervalos.
É possível, mas não é legal:
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}
Até onde eu sei, bash
não tem noção de intervalos hexadecimais.