如何在现有文件夹树中(在每个现有文件夹中)递归创建文件夹?

时间:2015-05-30 07:20:40

标签: linux bash shell ubuntu recursion

我尝试使用以下命令在现有树中创建新文件夹:

find /home/a/Desktop/MyCycles/DavidSilver -type d -exec sh -c '(cd {} && mkdir bin)' ';'

在Ubuntu中,但是我得到了无限循环

mkdir: cannot create directory ‘bin’: File exists

哪个BTW不正确,因为该文件夹不存在于/home/a/Desktop/MyCycles/DavidSilver的每个子文件夹中。

任何想法我该如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:2)

假设GNU find(1)

find /home/a/Desktop/MyCycles/DavidSilver -type d -printf '%p/bin\0' | xargs -0 mkdir

没有GNU find(1),但假设目录名不包含换行符:

find /home/a/Desktop/MyCycles/DavidSilver -type d | \
    sed 's!$!/bin!' | \
    xargs mkdir