任何线索只有在目标文件较小时才能移动文件并覆盖目标目录中的文件?移动覆盖较小的文件
我正在寻找一些bash解决方案,但无法找到任何支持标准通配符。
伪代码看起来像:
WHEN mv -i is triggering prompt AND input_file_size > target_file_size:
mv input_file target_file
任何线索只有在目标文件较小时才能移动文件并覆盖目标目录中的文件?移动覆盖较小的文件
我正在寻找一些bash解决方案,但无法找到任何支持标准通配符。
伪代码看起来像:
WHEN mv -i is triggering prompt AND input_file_size > target_file_size:
mv input_file target_file
猛砸不允许你在进程获取文件的大小。 你可以做这样的事情
sz0=$(stat -c%s input_file)
sz1=$(stat -c%s target_file)
if ((sz1 < sz0)); then mv input_file target_file; fi
,但如果你想在一个循环中运行这个不要指望hyperspeed。
不知道您是否可以通过文件大小轻松检查,但mv具有用于更新的'-u'开关,用于比较文件日期。这对你有用吗? – Robert
我知道'-u'开关,但我需要在这种情况下比较大小。例如。对于静态目录和没有通配符的情况,很容易“触摸”更大的文件,然后使用“-u”,但这也会使事情变得复杂。 – null
较小的目标文件中是否存在与较大输入文件的开头相同的数据? – Armali