2010-03-07 5 views

ответ

4

Как это по-прежнему топ результат Google, обновленный ответ:

current release поддерживает Баш стиль {c1..c2} где c1 и c2 персонажи:

Выражение формы '{c1..c2}', где c1 и c2 являются одиночными символами (которые могут быть многобайтными ча racters), расширяется до каждого символа в диапазоне от c1 до c2 в любой последовательности символов, используемой внутри. Для символов с кодовыми точками ниже 128 это US ASCII (это единственный случай, который потребуется большинству пользователей). Если какой-либо промежуточный символ недоступен для печати, для его распечатки используется соответствующая цитата. Если последовательность символов отменена, выход находится в обратном порядке, например. '{d..a}' подставляется как 'd c b a'.

Это определенно присутствует в 5.0.7 и более. Кажется, я не могу найти, когда это было введено в zsh release history, но first archived version documenting it указывает, что он был введен с июля 2012 года по ноябрь 2014 года.

+3

Я могу подтвердить, что эта функция * не * в 5.0.5 (версия, которая поставляется с 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 указывает, что 'brace_ccl' присутствовал в первоначальной фиксации, которая была выполнена в 1999 для версии 3.1.5 –

+0

Есть ли способ иметь диапазон типа '{1-12}' для расширения до '1 2 3 ... 9 10 11 12'? –

+0

@KedarMhaswade: Почему синтаксис '{1..12}' не соответствует вашим потребностям? – mpy