2010-03-07 5 views

Respuesta

4

Como esto sigue siendo un resultado superior Google, una respuesta actualizada:

El current release es compatible con el estilo de bash {c1..c2} donde c1 y c2 son personajes:

Una expresión del formulario '{c1..c2}', donde c1 y c2 son caracteres individuales (que pueden ser cha multiibyte racters), se expande a cada carácter en el rango de c1 a c2 en cualquier secuencia de caracteres que se use internamente. Para caracteres con puntos de código por debajo de 128, esto es ASCII de EE. UU. (Este es el único caso que la mayoría de los usuarios necesitarán). Si alguno de los caracteres intermedios no es imprimible, se utiliza una cita apropiada para hacer que se pueda imprimir. Si la secuencia de caracteres se invierte, la salida está en orden inverso, p. '{d..a}' se sustituye como 'd c b a'.

Esto definitivamente está presente en 5.0.7 en adelante. Parece que no puedo encontrar cuando este se introdujo en el zsh release history, pero el first archived version documenting it indica que se introdujo entre julio de 2012 y noviembre de 2014.

+3

Puedo confirmar que esta característica es * no * en 5.0.5 (la versión que se envía con Mac OS X). – chepner

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 indica que 'brace_ccl' estaba presente en la inicial cometer lo que se hizo en 1999 para la versión 3.1.5 –

+0

¿Hay alguna manera de tener un rango como '{1-12}' para expandirse a '1 2 3 ... 9 10 11 12'? –

+0

@KedarMhaswade: ¿Por qué la sintaxis '{1.12}' no se ajusta a sus necesidades? – mpy