将单个目录复制到具有不同名称的多个目录

将单个目录复制到具有不同名称的多个目录

我正在尝试根据列表将单个目录(带有子目录)复制到一堆新目录。例如我可以:

mkdir Fred Barney Thelma Louise Foo Bar

如何将预制目录(带有一些空子目录)复制到同一组名称?例如:

cp -r master_folder/ Fred Barney Thelma Louise Foo Bar

任何建议非常感谢!

答案1

使用循环迭代您想要复制到的目录,并将主目录的内容复制到每个目录:

dest=(Fred Barney Thelma Louise Foo Bar)
for d in "${dest[@]}"; do
    cp -r master "$d"
done

答案2

如果您的目录名称不包含任何特殊字符(空格或\"'):

echo Fred Barney Thelma Louise Foo Bar | xargs -n1 cp -r master_folder

这也可以写成:

xargs -n1 cp -r master_folder  < <(echo Fred Barney Thelma Louise Foo Bar)

或者更明确地说,通过 bash 循环(这适用于任意文件名):

for user in Fred Barney Thelma Louise Foo Bar ;do
    cp -r master_folder "$user"
  done

相关内容