令人难以置信的是,这被证明是如此困难,但我试图用来rsync
仅复制与特定模式匹配的文件。具体来说,复制所有匹配的子目录中的文件"*000.csv"
你可能会认为下面的
rsync -avrP --include='*000.csv' host:'~/data/' .
就可以了。相反,它的目标是所有子目录中的所有文件(?!)。这个博客建议您只能“包含”首先排除的内容。好的,那么为什么要这样做:
rsync -avrP --exclude='*' --include='*000.csv' host:'~/data/' .
rsync -avrP --filter='-! */' --include='*000.csv' host:'~/data/' .
两者都不以任何文件为目标。请帮忙。谢谢。
答案1
从您的代码来看,您似乎正在尝试从远程主机复制到本地计算机。话虽这么说:
rsync -avP --include='*000.csv' --exclude='*.*' user@host:~/data ./
r
正如该a
选项所暗示的那样,您不需要r
。