仅当 src/dst 之间的文件大小不同时才复制文件?

仅当 src/dst 之间的文件大小不同时才复制文件?

我希望执行如下文件复制:

cp --verbose /srcfile /dstfile

但我只想在dstfile不存在或dstfile文件大小与的文件大小不同时执行复制srcfile

如何使用cpbash 中的 eg 其他常见文件复制工具来完成此操作?

答案1

确实不是最优雅的方式:

if [ -e /dstfile ] ; then
 destsize=$(stat -c %s /dstfile)
 srcsize=$(stat -c %s /srcfile)
 if [ "$srcsize" -ne "$destsize" ] ; then
   cp --verbose /srcfile /dstfile
 fi
fi

你也可以尝试习惯同步

相关内容