如何比较 if 中的文件大小百分比

How to compare percent file size in an if

我正在尝试在 bash shell 中执行此操作。基本上想按百分比比较两个文件的大小。如果 file1 有 90% 不同,则 file2 做一些事情:

这是我目前拥有的:

newsize=$(wc -c <"$newfile")
oldsize=$(wc -c <"$oldfile")

if [[ $(($oldsize * 0.9)) -ge $newsize ]]; then
  echo 'This file is 90% or greater'
else
  echo 'This file is not large enough'
fi

我在令牌“0.9”上收到无效的算术运算符错误 任何帮助或指示都将被挪用

尝试使用整数数学(例如 9/10)而不是浮点数。

更新脚本

newsize=525
oldsize=584

if [[ $(($oldsize * 9/10)) -ge $newsize ]]; then
  echo 'This file is 90% or greater'
else
  echo 'This file is not large enough'
fi

示例输出

This file is 90% or greater