2010-03-07 52 views

回答

4

由于这仍是一个顶级谷歌的结果,更新的答案:

current release支持的bash风格{c1..c2}其中c1c2是字符:

表达式'{c1..c2}',其中c1c2是单个字符(其可以是多字节cha无论在内部使用什么字符序列,都会扩展到范围从c1c2之间的每个字符。对于代码点低于128的字符,这是US ASCII(这是大多数用户需要的唯一情况)。如果任何中间字符不可打印,则使用适当的引号使其可打印。如果字符序列被反转,则输出以相反的顺序,例如, '{d..a}'被替换为'd c b a'。

这肯定存在于5.0.7以后。我似乎无法找到zsh release history中引入的时间,但first archived version documenting it表示它是在2012年7月到2014年11月之间引入的。

+3

我可以在5.0.5(Mac OS X附带的版本)中确认此功能是* not *。 – chepner 2016-02-17 20:00:46

25
zsh$ setopt BRACE_CCL 
zsh$ echo {a-k} 
a b c d e f g h i j k 
zsh$ echo {1-9} 
1 2 3 4 5 6 7 8 9 
+0

JFTR zsh git指示'brace_ccl'出现在初始提交中, 1999 for version 3.1.5 – 2016-01-18 09:50:34

+0

有没有办法让'{1-12}'范围扩展到'1 2 3 ... 9 10 11 12'? – 2016-08-01 21:47:13

+0

@KedarMhaswade:为什么'{1..12}'语法不符合您的需求? – mpy 2016-11-19 13:55:39