![将文件(特定扩展名)远程复制到本地计算机并保留路径](https://linux22.com/image/526925/%E5%B0%86%E6%96%87%E4%BB%B6%EF%BC%88%E7%89%B9%E5%AE%9A%E6%89%A9%E5%B1%95%E5%90%8D%EF%BC%89%E8%BF%9C%E7%A8%8B%E5%A4%8D%E5%88%B6%E5%88%B0%E6%9C%AC%E5%9C%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%B9%B6%E4%BF%9D%E7%95%99%E8%B7%AF%E5%BE%84.png)
我在远程服务器上有一堆文件。
除了 .pl 文件以外,我对大多数文件都不感兴趣。
我想在我的本地计算机上获取这些内容的副本。
做到这一点的最佳方法是什么(同时尝试保留其路径)?
我的想法是这样的:
find . -name "*.pl" | xargs scp localuser@localip
可惜没有奏效。有人有更好的主意吗?
答案1
$rsync -av --prune-empty-dirs --include-from=filter 用户@远程源/ 目标/
$cat filter
+ *.pl
+ */
- *
編輯:錯誤
答案2
也许是这个?
{
find -type d -printf "mkdir %p\n" ;
find -name "*.pl" -printf "put %p %p\n" ;
} | sftp localuser@localip