我有一个文件夹“Source”,结构如下
Source
----Folder1
----Subfolder1
----Folder2
----subfolder2
----private
----Folder3
-----subfolder4
----subsubfolder4
-----private
我正在编写一个linux bash文件,用于将在这些子目录中找到的任何文件移动到新的目标文件夹“Destination”,如果未在目标中创建文件夹树,则创建文件夹树。
到目前为止,我的代码正在完成这项工作,并在两个文件夹中保留目录树,并在复制后删除源文件
cd /Source/
find * -iname "*.*" -type f -print0 | xargs -0 -I '{}' /usr/bin/rsync -avR --remove-source-files "{}" /Destination/
我的问题是我不希望代码复制任何名为“private”的文件夹中的文件,或者在“Destination”中创建私人文件夹本身。我只是想在它遇到它时跳过私人文件夹。
任何想法
答案 0 :(得分:0)
您可以使用rsync <options> --exclude private
跳过文件夹“private”及其内容的所有出现。