Bash - 让计数器打印上标数字

Bash - 让计数器打印上标数字

如果我有一个带有计数器的脚本,则打印如下数字:

#!/bin/bash

while true; do
  i=$((i+1))
  echo "$i"
done;

印刷:

1
2
3
4
5
[...]

如何让脚本打印上标数字?

所以我会得到:

¹
²
³
[...]

答案1

tr(至少在我的机器上实现)似乎无法正确处理 UTF-8 字符。 GNU sed 可以做到这一点,其y运算符的工作方式与以下相同tr

#! /bin/bash
while : ; do
((++i))
sed 'y/0123456789/⁰¹²³⁴⁵⁶⁷⁸⁹/' <<< "$i"
done

不要忘记将脚本保存为 UTF-8 并配置终端以正确显示 UTF-8。

相关内容