bashで大量のファイルを作成する

bashで大量のファイルを作成する

私はこれを理解しようとして、さまざまなコマンドを試しましたが、まだどこにも行き着きません。この質問について助けていただけませんか?

ホーム ディレクトリに、shirts というサブディレクトリを作成します。サブディレクトリ内に、style.size.color.ext という形式のファイル名を持つ 108 個のファイルを作成します。各ファイルには、次の表の値の組み合わせが 1 つずつ含まれます。

Style   tee, crew, turtleneck
Size    XXL, XL, L, M, S, XS
Color   red, yellow, blue
Extension   info, inv

これは私が最後に使用したコマンドです。

$ touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}/{info,inv}

答え1

タッチコマンドに若干のエラーがあります。元のコマンドは、

touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}/{info,inv}

結局、/再びディレクトリを作成しようとしますが、ディレクトリが存在しないため、次のようなエラーが発生します。

touch: cannot touch `/shirts/turtleneck.XS.blue/inv': No such file or directory

ただし、必要なのはファイルだけなので、元のコマンドを次のように変更する必要があります。

touch shirts/{tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}.{info,inv}

追伸: ディレクトリがshirtsすでに存在していることを確認する必要があります。そうでない場合、同じエラーが再度発生しますcannot touch

答え2

あなたの説明によれば、これら 108 個のファイルのそれぞれの名前は、 という形式に従う必要がありますstyle.size.color.ext

そうあるべきだ

mkdir shirts
touch {tee,crew,turtleneck}.{XXL,XL,L,M,S,XS}.{red,yellow,blue}.{info,inv}

実行されているのtouchは空のファイルの作成ですが、異なるサブディレクトリを持つディレクトリ シャツを作成しようとしています。touchこれはできません。

編集: 上記のコマンドを短くしたり、見栄えを良くしたりすることもできますtouch:

touch {tee,crew,turtleneck}.{{X,XX,}L,M,{X,}S}.{red,yellow,blue}.{info,inv}

関連情報