(zsh brace expansion | seq) for character lists - how?
brace-expansion, character, seq, zsh
Solution
As this is still a top google result, an updated answer:
The current release supports bash style `{c1..c2}` where `c1` and `c2` are characters:
An expression of the form ‘`{c1..c2}`’, where `c1` and `c2` are single characters (which may be multibyte characters), is expanded to every character in the range from `c1` to `c2` in whatever character sequence is used internally. For characters with code points below 128 this is US ASCII (this is the only case most users will need). If any intervening character is not printable, appropriate quotation is used to render it printable. If the character sequence is reversed, the output is in reverse order, e.g. ‘`{d..a}`’ is substituted as ‘`d c b a`’.
This is definitely present in 5.0.7 onwards. I can't seem to find when this was introduced in the zsh release history, but the first archived version documenting it indicates it was introduced between July 2012 and November 2014.
Problem
Bash allows me to write the statement, ``` $ for i in {h..k} ; do echo $i ; done ``` but zsh only allows number list expansion such as `{8..13}`. What's the best workaround? Something like seq for characters...