bashを使ってディレクトリとサブディレクトリを作成しますか?

bashを使ってディレクトリとサブディレクトリを作成しますか?

これはbashスクリプトを実行したときの出力例です - >https://i.stack.imgur.com/KfUBk.jpg

私の質問は、これをどのように作成できるか、またはどのコードを使用できるかです。

ベストアンサー1

for dir in a a/b a/b/c a/b/c/d; do
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

つまり、作成したいディレクトリ名と各ディレクトリについて繰り返します。

  1. それを作り、
  2. その中に空のファイルを作成します。

${dir##*/}にあるディレクトリのデフォルト名に拡張されます$dir(例c: $diris ) a/b/c。中括弧の拡張something{1..100}はに拡張されますsomething1 something2 ... something100

任意の深さに拡張しやすい変形:

dir=''
for dirname in a b c d; do
        dir="${dir:-.}/$dirname"
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

ここで設定されていないか空の場合は、${dir:-.}最初の反復に表示されます。これは最初に構築された次のことを意味します。.$dir$dir./a./a/b

たとえば、次のようなより多くのサブディレクトリが必要な場合z:

dir=''
for dirname in {a..z}; do
        dir="${dir:-.}/$dirname"
        mkdir "$dir" && touch "$dir/${dir##*/}"{1..100}
done

おすすめ記事