复制文件夹子集并保留目录树

复制文件夹子集并保留目录树

我对 Linux 和 Ubuntu 完全陌生。

我正在处理大量以此方式组织的文件夹和文件。

/Qarc/Svendborg FU1/1000/1002/Gait1  
/Qarc/Svendborg FU1/1000/1002/Gait2  
/Qarc/Svendborg FU1/1000/1002/Shot001      
/Qarc/Svendborg FU1/2000/2001/Gait1  
/Qarc/Svendborg FU1/2000/2001/Gait2  
/Qarc/Svendborg FU1/2000/2001/Shot001  

基本上,我需要复制所有子文件夹 Gait1 和 Gait2,同时至少保留它们的父文件夹(因为它保存了步态文件夹中文件所属患者的信息)。

根据另一个用户对类似问题的先前回答,我尝试了以下代码。

rsync -avz --include='Gait*/' --exclude='*.*/'  /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/  

但是此代码会复制“Svendborg FU1”文件夹内的所有文件夹和文件,而不仅仅是我尝试定位的 Gait1 和 Gait2 子文件夹。

任何帮助都非常感谢。提前致谢

答案1

我设法自己找到了解决方案。我完全确定这不是最简单的方法,但它确实有效。我尝试了各种使用正则表达式的解决方案,但无法使它们起作用。所以我最终为目录中存在的所有文件夹添加了 --include='' 和 --exclude=''。

rsync -avz --include='Gait1/' --include='Gait2/' --exclude='shot_00*'  --exclude='1.*' --exclude='3.*' /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/

相关内容