bash - 对于文件夹中的每个目录,在不同的位置创建一个目录

时间:2012-09-27 13:22:46

标签: bash

我有一个包含多个文件夹的目录。 我想创建一个bash脚本来在不同的位置创建具有相同名称的目录。

请注意,我不想复制文件夹结构,也不要复制或移动文件夹。我只想在不同的位置创建具有相同名称的文件夹。

我被困住了。使用这个:

for d in "template/modules/*"
do
    # mkdir $(basename "$d");
    echo $d;
    echo "$d";
    echo $(basename "$d");
done

输出:

template/modules/introduction template/modules/kitchen template/modules/test
template/modules/*
add_module.sh template

有什么想法吗?

干杯

3 个答案:

答案 0 :(得分:6)

您需要将星号放在引号之外:

for d in "template/modules/"*

在第一个echo中,$dexpanded,但是当你引用它时,它不是。{/ p>

答案 1 :(得分:1)

试试这个:

for d in "template/modules/*"
do
   mkdir $(basename "$d")
done

答案 2 :(得分:1)

要复制目录结构,您可以执行以下操作:

$ cd template/modules
$ find . -type d -maxdepth 1 -exec mkdir -p ../../{} \;