たとえば、私のスキーマでホスト名を生成したいとします。inc-[tnc][app|web][1-10]
次のように出力する必要があります。
inc-tapp1
inc-tapp2
.
.
inc-tapp10
inc-napp1
.
.
inc-capp10
inc-tweb1
.
.
inc-cweb10
ここで、t、n、cはテキサス、ニューヨーク、カリフォルニアにあるデータセンターを表します。
答え1
bash 拡張を使用します。
$ echo inc-{t,n,c}{app,web}{1..10}
inc-tapp1 inc-tapp2 inc-tapp3 inc-tapp4 inc-tapp5 inc-tapp6 inc-tapp7 inc-tapp8 inc-tapp9 inc-tapp10 inc-tweb1 inc-tweb2 inc-tweb3 inc-tweb4 inc-tweb5 inc-tweb6 inc-tweb7 inc-tweb8 inc-tweb9 inc-tweb10 inc-napp1 inc-napp2 inc-napp3 inc-napp4 inc-napp5 inc-napp6 inc-napp7 inc-napp8 inc-napp9 inc-napp10 inc-nweb1 inc-nweb2 inc-nweb3 inc-nweb4 inc-nweb5 inc-nweb6 inc-nweb7 inc-nweb8 inc-nweb9 inc-nweb10 inc-capp1 inc-capp2 inc-capp3 inc-capp4 inc-capp5 inc-capp6 inc-capp7 inc-capp8 inc-capp9 inc-capp10 inc-cweb1 inc-cweb2 inc-cweb3 inc-cweb4 inc-cweb5 inc-cweb6 inc-cweb7 inc-cweb8 inc-cweb9 inc-cweb10
$
あるいは、それぞれの間に改行したい場合は、trを介してパイプします。
$ echo inc-{t,n,c}{app,web}{1..10}|tr " " "\n"
inc-tapp1
inc-tapp2
inc-tapp3
[etc]
答え2
シェルサポート拡張が利用可能
bash$ echo a{d,c,b}e
ade ace abe
http://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html#Brace-Expansion