我正在尝试根据列表将单个目录(带有子目录)复制到一堆新目录。例如我可以:
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