如何在给定目录子文件夹的所有子文件夹中创建具有给定名称的子文件夹

时间:2014-06-23 09:41:45

标签: bash

我在CentOS中有这样的目录结构:

dir1
dir2
dir3
...

现在,我想在每个dirN文件夹中创建一个名为converted的子文件夹。我尝试过:

> find . -maxdepth 1 -type d -execdir mkdir converted {} +

但没有成功。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

TCLSH VERSION:

find . -maxdepth 1 -type d -exec mkdir -p \{\}/converted \;

你必须用“\”来逃避大括号。

BASH VERSION:

拳击登录BASH:

bash --login

然后执行命令:

sudo find . -maxdepth 1 -type d -exec mkdir -p {}/converted  \;

对我来说有什么用。 但它也会创建在这些目录之上转换的文件夹。 您是否也在要创建这些子目录的特定文件夹中?

如果没有,请先导航到文件夹或更改find​​命令参数,如下所示:

sudo find /PATH/TO/YOUR/DIR -maxdepth 1 -type d -exec mkdir -p {}/converted  \;

如果你真的想坚持使用tclsh:

可选:

这只是我的观点:

您应该使用BASH或ZSH进行日常系统管理/编程工作。 如果您想更改$ SHELL类型:

sudo chsh

答案 1 :(得分:0)

另一种方式:

bash
for i in dir*; do [ -d "$i" ] || continue; mkdir "$i"/converted; done
相关问题