Bash

Bash 擴展十六進制

  • January 9, 2020

我想知道是否有一種方法可以使用 bash 擴展來查看十六進制數位的所有組合可能性。我可以擴展二進製文件

在基地 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

但是十六進制:

echo {0..F}

重複一遍:

{0..F}

你可以; 您只需要將範圍{0..F}分成兩個單獨的範圍{0..9}{A..F}

$ printf '%s\n' {{0..9},{A..F}}{{0..9},{A..F}}
00
01
...
FE
EF

使用printf

$ printf '%.2x\n' {0..255}

格式字元串%.2x表示將輸出格式化為一個零填充的兩位小寫十六進制數(%02x也會這樣做)。

如果要大寫,請使用%.2X.

Bash 只能理解以 10 為基數的整數範圍或間隔的大括號擴展中 ASCII 字元之間的範圍。

引用自:https://unix.stackexchange.com/questions/346118