No bash, executarei um script que dará uma olhada na pasta folder123/
para saber quanto espaço é necessário para os arquivos que estão lá. Mas esse valor necessário será multiplicado 1,5
e, em seguida, subtraído do espaço disponível. .
Se houver espaço disponível suficiente, continuarei no script, mas se não houver, exibirei um erro.
para verificar quanto espaço é necessário, tento isso
du -b folder123/ | tail -n 1 | awk '{print $1}'
para verificar quanto espaço está disponível, eu descubro isso
df --output=avail -B 1 "$PWD" |tail -n 1
mas como multiplicar o requerido 1,5
e depois subtrair do disponível, no script bash?
:editar
se eu usar algo como
avail=$(df --output=avail -B 1 . | tail -n 1)
req=$(( $(du -sb tempdir/ | cut -f1) * 3 / 2))
sum=$(printf '%d\n' "$((avail - req))")
mas como então verificar se $sum está ok?
Armazene os bytes disponíveis em uma variável:
Faça o mesmo com os bytes necessários e multiplique por 3/2 (o bash não suporta aritmética de ponto flutuante):
A diferença fica então disponível como
Para tomar uma decisão com base nos valores, compare-os; por exemplo