首页 > 解决方案 > 用 cmp 和 find 比较本地和 ftp 文件

问题描述

我想将本地文件夹中的文件与子文件夹中的文件与 ftp 服务器上的对应文件进行比较,并删除本地文件夹中未更改的文件。我的命令目前看起来像这样(灵感来自https://superuser.com/questions/561187/diff-between-two-directories-and-keep-only-the-unchanged-ones的答案)

find . -type f -exec cmp {} ftp://$FTP_USERNAME:$FTP_PASSWORD@$HOST/html/{} \; -delete

比较两个本地文件夹时,该命令按预期工作。使用 ftp 目录时,该命令No such file or directory会针对每个文件返回,因为它./在远程目录和要搜索的目录之间添加。例子:

cmp: ftp://$FTP_USERNAME:$FTP_PASSWORD@$HOST/html/./subdirectory/index.html: No such file or directory

有人知道如何解决这个问题吗?

标签: linuxftpcomparecmp

解决方案


推荐阅读