用于迭代文件夹树并复制子文件夹文件的 shell 脚本

用于迭代文件夹树并复制子文件夹文件的 shell 脚本

我正在尝试创建一个将迭代文件夹的脚本。在该文件夹中有很多子项目。我需要转到每个子项目并将src文件夹复制到同一文件夹但在外部文件夹中。

find ~/project/ \( -name 'src' \) -delete

这就是我从每个外部文件夹中删除旧文件夹的方法src,但我不知道如何复制新文件夹。编辑:我在笔记本上画了结构。 Bycp 我的意思是替换。 在此输入图像描述

答案1

来自家长对于项目,您可以使用一个名为 rsync 的可爱备份工具:

rsync -av project/ .

上面的代码会将所有子目录复制到父目录。如果您只想要一个命名的子目录,那么它会更复杂一些,您需要从以下位置运行它之内项目/目录:

find . -maxdepth 2 -type d -name "src" -exec rsync -aRv {} .. \;

我们在这里所做的就是找到你的源代码子目录并将它们传递给 rsync,最重要的是包括标志,告诉 rsync 在目标中维护相对路径名。

相关内容