将文件夹内容复制到多个子文件夹

将文件夹内容复制到多个子文件夹

因此我想了解是否可以将模板文件夹的内容复制到多个现有文件夹中。

所以我有

opt/application/tenant_template
opt/application/tenant_template/src
opt/application/tenant_template/table
opt/application/tenant_template/attachments.bar

所有这些文件都应该复制到文件夹 random_1 random_2 random_3 但我不知道 random_* 文件夹的名称是什么。

opt/application/tenant/random_1
opt/application/tenant/random_2
opt/application/tenant/random_3

这可能吗?甚至是可取的吗?

答案1

使用find

find opt/application/tenant -type d -name "random_*" \
  -exec cp -pri opt/application/tenant_template/* {}/ \;

或者,使用for-loop:

for t in opt/application/tenant/random_*; do
    cp -pri opt/application/tenant_template/* "$t"
done

-->cp选项:

  • -p保留权限和时间戳
  • -r递归
  • -i交互式(覆盖前询问)

答案2

如果我理解正确的话:

for dir in /opt/application/tenant/random_*/; do 
  cp -r /opt/application/tenant_template/* $dir
done

相关内容