Gostaria de saber se existe uma maneira de usar a expansão do bash para visualizar todas as possibilidades de combinação de vários dígitos em hexadecimal. Eu posso expandir em binários
Na base 2:
echo {0..1}{0..1}{0..1}
O que devolve:
000 001 010 011 100 101 110 111
Na base 10:
echo {0..9}{0..9}
O que devolve:
00 01 02...99
Mas em hexadecimal:
echo {0..F}
Apenas repita:
{0..F}
bash
brace-expansion
numeric-data
hex
David Borges
fonte
fonte
echo {0-9A-F}
funciona no zsh com aBRACE_CCL
opção{00..99}
para obter a mesma saída.Respostas:
Você pode; você só precisa dividir o intervalo
{0..F}
em dois intervalos separados{0..9}
e{A..F}
:fonte
Usando
printf
:A string format
%.2x
diz para formatar a saída como um número hexadecimal com dois dígitos, minúsculas e minúsculas (%02x
faria o mesmo).Se você quiser maiúsculas, use
%.2X
.O Bash entende apenas intervalos inteiros da base 10 ou intervalos entre caracteres ASCII em expansões de intervalo entre chaves.
fonte
É possível, mas não é legal:
Tanto quanto eu posso dizer
bash
não tem noção de intervalos hexadecimais.fonte