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
범위를 두 개의 {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
출력을 0으로 채워진 두 자리 소문자 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진수 범위에 대한 개념은 없습니다.