2017-04-26 84 views

回答

5

这是给你一个命令:如果你想在子目录共享相同的新名称

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

如果想子目录具有相同的名称作为父目录。

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

您应该重复''$ i/$ i“'来防止通配和分词。 –

+0

@ l'l l你是对的,更新,谢谢! – luoluo

0

你应该用括号展开

mkdir dir_{1..3}/newDir 

,如果你事先知道迪尔斯的名字,唯一的工作当然。 虽然不适用于'sh'。

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 
0

使用find你可以这样做:

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

这将创建directory/directory如果它不已经存在了ST。

相关问题