假设我有以下结构:
./
├── 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
在移动完文件后删除每个命名的目录。
答案1
您可以使用循环...
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
,但它默认是关闭的,并且将在您启动新 shell 时关闭。
做你自己的事...
然后删除目录,find
首先
find -type d -name "Textures"
然后,如果输出看起来正常,添加-delete
find -type d -name "Textures" -delete