タグ付けされた質問 「brace-expansion」

任意の文字列を生成するために使用されるシェルメカニズム。

1
ブレースの拡張範囲が3つ(省略記号)ではなく2つのドットを使用するのはなぜですか?
ようやくbash(さらにはzsh)ブレースの拡張範囲を適切に使用できなかった理由を最後に理解/発見しました。構文は{1..10}、省略記号、つまりと想定したものではありません{1...10}。 3つのドットよりも2つのドットが選ばれた理由を教えてください。(Wikipedia)リンクに示されているように、コンピュータープログラミングでの省略記号の使用は一般的でよく理解されているため、これが私の好奇心を刺激しました。

3
16進数のBash拡張
16進数の桁数の組み合わせのすべての可能性を表示するためにbash展開を使用する方法があるかどうか知りたいのですが。バイナリで展開できます ベース2: echo {0..1}{0..1}{0..1} それは恩返しです: 000 001 010 011 100 101 110 111 ベース10: echo {0..9}{0..9} それは恩返しです: 00 01 02...99 しかし、16進数では: echo {0..F} 繰り返すだけ: {0..F}

4
右から左へのシェルブレース拡張
zsh(および他のシェル)で、(たとえば)のような引数を含めた場合: {a,b,c}{d,e,f} ブレースの展開により、次のようになります。 ad ae af bd be bf cd ce cf 私の目的では、引数の順序が重要であり、左から右ではなく右から左に展開する中かっこが必要です。つまり、拡張は次のようになります。 ad bd cd ae be ce af bf cf 中括弧の複数のセットが展開される順序を制御する方法はありますか?これらの議論だけでなく、あらゆる状況で機能するものを探しています。


2
ワイルドカード展開とブレース展開を組み合わせたbash
ワイルドカードと中かっこ内で指定された拡張子のコレクションを含む文字列を展開しようとしています。以下の例が示すように、何も機能しないようです。変数にはfirstList罰金を展開しませんが、どちらもsecondList、thirdListあるいはfourthList適切に拡大します。のさまざまなバージョンも試しましたevalが、どれも機能しません。どんな助けもいただければ幸いです #!/bin/bash touch a.ext1 touch b.ext1 firstList='*.ext1' ls $firstList touch a.ext2 touch b.ext2 secondList='*.{ext1,ext2}' ls $secondList ls '$secondList' ls "$secondList" thirdList=*.{ext1,ext2} ls $thirdList ls '$thirdList' ls "$thirdList" fourthList="*.{ext1,ext2}" ls $fourthList ls '$fourthList' ls "$fourthList"

4
ブレース展開中に生成された引数間のスペースを抑制するにはどうすればよいですか?
次のコマンドを使用して、テストするURLのリストを作成しました。 echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt 残念ながら、urls.txtそれぞれに追加されたURLの前にはスペースがありました(もちろん、最初のものを除きます)。それがなぜ起こったのか理解しており、sed式をパイプ処理することでそれを取り除くことができることを理解していますが、代わりにそれを抑制する方法があるかどうか知りたいです。(それはばかげて、見た目が悪いように見えるかもしれませんが、多くの人々が「猫を虐待しない」と感じるので、好みと同じです。) 私が試した、二重引用符抑制単語分割にするので、それは何の-行くんでした、が、それはあまりにもブレース展開を抑制しました。 IFSを空の文字列に変更しようとしましたが、うまくいきませんでした。 IFS='' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt また、改行に変更しませんでした。 IFS='\n' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.