如何在保留文件夹结构的同时从目录中复制文件的子集?

cst*_*ack 8 file-copy directory-structure

我想将一些文件子集从 dirA 移动到 dirB(假设文件名中带有“blah”的文件),但我希望所有嵌套目录在新位置中都相同。我怎样才能做到这一点?

pdo*_*pdo 10

rsync过滤规则的神奇之处:

$ rsync -av --filter="+ */" --filter="-! *blah*" /source /dest
Run Code Online (Sandbox Code Playgroud)

有关rsync过滤规则的详细信息,请参阅手册页,但这里是针对此特定需求的精简版本。

--filter="+ */" 意思是“包括目录中的所有内容”

--filter="-! *blah* 意思是“排除文件名中不包含 blah 的所有内容”