![复制文件夹子集并保留目录树](https://linux22.com/image/899939/%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E5%A4%B9%E5%AD%90%E9%9B%86%E5%B9%B6%E4%BF%9D%E7%95%99%E7%9B%AE%E5%BD%95%E6%A0%91.png)
我对 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/