使用单个命令在所有目录下创建一个新目录:Linux

时间:2017-04-26 06:08:48

标签: linux bash shell mkdir

如果我有目录

dir_1/ dir_2/ dir_3/ 

如何使用单个命令在所有这些目录下创建同名目录?

4 个答案:

答案 0 :(得分:5)

这是给你的一个命令:

如果您希望子目录与父目录具有相同的名称:

for i in ./dir_*; do mkdir -p "${i}/${i}"; done

如果您希望子目录共享相同的新名称。

for i in ./dir_*; do mkdir -p "${i}/new_dir_name"; done

答案 1 :(得分:0)

您应该使用Brace Expansion

mkdir dir_{1..3}/newDir

当然,如果你事先知道dirs的名字,那就可以了。 但不适用于'sh'。

答案 2 :(得分:0)

您可以使用此find

find . -maxdepth 1 -type d -name 'dir_*' -exec mkdir {}/{} \;

<强>测试

$ ls
dir_1  dir_2  dir_3  file1  file2  file3

$ find . -maxdepth 1 -type d -name 'dir_*' -exec mkdir {}/{} \;

$ ls dir_1/
dir_1

答案 3 :(得分:0)

使用find即可:

find . -type d -maxdepth 1 -execdir mkdir -p "{}/{}" \;

如果它不存在,这将创建directory/directory