mkdir -pとtouchは、一連のサブディレクトリとファイルを作成するために使用されます。どのように動作しますか?

mkdir -pとtouchは、一連のサブディレクトリとファイルを作成するために使用されます。どのように動作しますか?

何百もの子ディレクトリを持つ親ディレクトリを作成し、生成された子ディレクトリに何百もの26個の空のファイルを生成するtouchコマンドが続くチュートリアルで、次のコマンドを見つけました。

mkdir -p playground/dir-{00{1..9},0{10..99},100}

touch playground/dir-{00{1..9},0{10..99},100}/file-{A..Z}

私の質問は、この構文が正確にどのように機能するかです。角かっこ拡張とは何をし、00その0意味は何ですか100?これが最後の値であることを知っていますが、合計がどのように機能するかは100よくわかりません。 touchコマンドにも同じ問題があります。00,0

理解するのを手伝ってください。ありがとうございます。

ベストアンサー1

さて、見てみましょう:

1) コマンドmkdir -p playground/dir-{00{1..9},0{10..99},100}

playground/で、それぞれ次の形式で100個のディレクトリを作成できます。dir-xxxここでxxxは数字です。さて{00{1..9},0{10..99},100}、あなたは3つのことについて話しています。

  1. 1から9までの00xディレクトリを作成します。x00{1..9}
  2. 10から99までのディレクトリを作成します0xxxx0{10..99}
  3. 部分的にディレクトリ100を作成

2) 1)のすべてのディレクトリがある場合は、touchコマンドを実行します。

AZ範囲に文字が1つある次のfile-x形式でファイルをタッチします。xこの{00{1..9},0{10..99},100}部分では、1)で作成したディレクトリのファイルをタッチしたいとおっしゃいました。ご覧のとおり、中括弧内の部分はコマンドの部分と同じですmkdir

お役に立てば幸いです。支柱の拡張についてもっと知りたい場合は、以下をお読みください。https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html

おすすめ記事