(расширение ZSH Brace | SEQ) для списков символов - как?

StackOverflow https://stackoverflow.com/questions/2394728

Вопрос

Bash позволяет мне написать заявление,

$ for i in {h..k} ; do echo $i ; done

Но ZSH позволяет только расширение номеров списка, как {8..13}.

Какой лучший обходной путь? Что-то типа осевать Для персонажей ...

Это было полезно?

Решение

Как это все еще лучший результат Google, обновленный ответ:

То Текущий релиз Поддерживает стиль Bash {c1..c2} куда c1 а также c2 являются персонажими:

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

Это определенно присутствует в 5.0.7. Я не могу найти, когда это было введено в История выпуска ZSH, но Первая архивная версия, документируя это Указывает, что он был введен в период с июля 2012 года по ноябрь 2014 года.

Другие советы

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top