私が次の構造を持っているとしましょう:
./
├── Dir1
├── Dir2
│ ├── SubDir1
│ │ └── SubSubDir1
│ └── SubDir2
└── Dir3
└── SubDir1
これを使用して、テスト構造を作成します。
mkdir -p Dir1 Dir2/SubDir1/SubSubDir1 Dir2/SubDir2 Dir3/SubDir1
すべてのディレクトリにTexture
フォルダを作成して、現在の場所を含めると、次のようになります(すべての新しいTexture
ディレクトリには*
):
./
├── Dir1
│ └── Textures*
├── Dir2
│ ├── SubDir1
│ │ ├── SubSubDir1
│ │ │ └── Textures*
│ │ └── Textures*
│ ├── SubDir2
│ │ └── Textures*
│ └── Textures*
├── Dir3
│ ├── SubDir1
│ │ └── Textures*
│ └── Textures*
└── Textures*
そうすれば、これらのフォルダを操作した後で、これらの同じフォルダを削除することもできます。保存する必要があるTextures
という名前のディレクトリは他にないものと想定できます。
したがって、現在のディレクトリとそのすべてのサブディレクトリにTextures
ディレクトリを作成したいと思います。そして、ファイルの移動が終わったら、Textures
という名前のすべてのディレクトリを削除できるようにしたいと思います。
あなたはループを使うことができます...
shopt -s globstar # turn on recursive globbing
for d in **/; do # for every directory
echo mkdir -p "$d"Textures # make a new directory inside named Textures
done
テスト後にecho
を削除して、実際にディレクトリを作成します。
globstar
はshopt -u globstar
でオフにできますが、デフォルトではオフになっており、新しいシェルを起動するとオフになります。
あなたのことをしてください...
次に、ディレクトリを削除するには、まずそれらをfind
find -type d -name "Textures"
次に、出力に問題がなければ、-delete
を追加します
find -type d -name "Textures" -delete