形式は次のとおりです。AAA-111
AAA
どこで可能であり、[A-Z][A-Z][A-Z]
そう111
することができますか?[0-9][0-9][0-9]
質問:すべての可能なバリアントを生成するためにbashスクリプトをどのように書くことができますか?
ベストアンサー1
Chaosが指摘したように、これを達成するために中括弧拡張を使用できます。ただし、-
形式に応じて有効にするには、その間の項目を忘れないでください。
echo {A..Z}{A..Z}{A..Z}-{000..999}
1行に1つの項目が必要な場合は、for
次のようにループでラップできます。
for i in {A..Z}{A..Z}{A..Z}-{000..999}
do
echo "$i"
done
> /path/to/file
でこれを行うことができますdone
。
ループを使用したくない場合は、for
次を使用することもできます。tr
1行に1つの項目を印刷するようにします。
echo {A..Z}{A..Z}{A..Z}-{000..999} | tr " " "\n"
別のオプションはprintf
リストとして印刷することです。これで1つを節約できますtr
。
printf '%s\n' {A..Z}{A..Z}{A..Z}-{000..999}