我正在运行 Debian 9。在 Bash 中,我可以echo {a..z}
使用字母表,或者echo {a..z}{a..z}
打印字母组合。但是,我想生成一个索引:a b c d
etc. then aa bb cc dd
etc. then aaa bbb ccc ddd
etc. 直到它是aaaaa bbbbb
(直到zzzzz
)。这怎么能用大括号扩展或其他类似方法来完成?谢谢
我正在运行 Debian 9。在 Bash 中,我可以echo {a..z}
使用字母表,或者echo {a..z}{a..z}
打印字母组合。但是,我想生成一个索引:a b c d
etc. then aa bb cc dd
etc. then aaa bbb ccc ddd
etc. 直到它是aaaaa bbbbb
(直到zzzzz
)。这怎么能用大括号扩展或其他类似方法来完成?谢谢
你可以这样做:
解释:大括号扩展将为每个由逗号(和前导字符串)分隔的值创建一个参数:
但是,如果该值为空,它只会重复前导字符串:
如果前导字符串本身是大括号扩展,则将重复其所有字符串:
然后,使用 printf(和尾随回声)格式化输出:
一个字母的值:
AFAIK 你不能仅仅通过
bash
做一些扩展魔法来做到这一点。但是你总是可以使用这是 Bash 中的另一个选项。
index
.for
为每个字母运行循环。case
语句for
确定每个字母添加到索引的实例数。