Как сравнить процентный размер файла в if - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь сделать это в оболочке bash. В основном хочу сравнить размер двух файлов по процентам. Если 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" Любая помощь или указатель будут присвоены

1 Ответ

0 голосов
/ 11 сентября 2018

Попробуйте использовать целочисленную математику (например, 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
...