Bash 16진수 확장

Bash 16진수 확장

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}

내가 아는 한, bash16진수 범위에 대한 개념은 없습니다.

관련 정보