10 我想知道是否存在一种使用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} bash brace-expansion numeric-data hex — 戴维·博尔赫斯 source 请注意,echo {0-9A-F}该BRACE_CCL选项可在zsh中使用。 — TonioElGringo 请注意,在以10为基数的情况下,您也可以说{00..99}获得相同的输出。 — Ruslan
20 您可以; 你只需要打破范围{0..F}分为两个单独的范围{0..9}和{A..F}: $ printf '%s\n' {{0..9},{A..F}}{{0..9},{A..F}} 00 01 ... FE EF — 切普纳 source 这比手动在0-9A-F中写入每个数字要好得多! — dhag
14 使用printf: $ printf '%.2x\n' {0..255} 格式字符串%.2x表示将输出格式设置为零填充的两位小写十六进制数字(%02x也可以这样做)。 如果要大写,请使用%.2X。 Bash仅能理解以10为基数的整数范围或ASCII字符之间的间隔扩展括号。 — 库萨兰达 source
7 有可能,但不是很好: 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,没有十六进制范围的概念。 — 佐藤聪 source
echo {0-9A-F}
该BRACE_CCL
选项可在zsh中使用。