14

Bashを使用すると、ステートメントを記述できます。

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

ただし、zshでは、などの番号リストの拡張のみが許可され{8..13}ます。

最善の回避策は何ですか?キャラクターのseqのようなもの...

4

2 に答える 2

27
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

ZSHドキュメントから:

BRACE_CCL

他の方法では中括弧の拡張が行われない中括弧内の式を、字句的に順序付けられたすべての文字のリストに展開します。ブレース拡張を参照してください。

于 2010-03-07T01:33:42.743 に答える
8

これはまだトップグーグルの結果であるため、更新された答え:

現在のリリースでは、文字であるbashスタイル{c1..c2}がサポートされています。c1c2

'<code> {c1..c2}'の形式の式(c1およびc2は単一文字(マルチバイト文字の場合もあります))は、内部で使用される文字シーケンスの範囲内のすべての文字に展開されc1ますc2。コードポイントが128未満の文字の場合、これはUS ASCIIです(これは、ほとんどのユーザーが必要とする唯一のケースです)。介在する文字が印刷できない場合は、適切な引用符を使用して印刷可能にします。文字シーケンスが逆の場合、出力は逆の順序になります。たとえば、「<code>{d..a}」は「<code>dcba」に置き換えられます。

これは5.0.7以降で間違いなく存在します。これがzshのリリース履歴にいつ導入されたかはわかりませんが、それを文書化した最初のアーカイブバージョンは、2012年7月から2014年11月の間に導入されたことを示しています。

于 2015-08-26T13:59:39.183 に答える