Question

with this problem I am beating my head with walls, please help.

I have two files Sheetthickness.k which contains a single value of initial thickness and minThick.k which contains the final thickness only a single number. I want to calculate the percentage decrease in thickness so I used.

fina="$(cat minThick.k)";
echo $fina
init="$(cat Sheetthickness.k)";
echo $init 

echo |awk "{ print ($init-$fina)/($init) }" > LSDynaResponse.txt

In shell where there is no other command and the files are already there then it works perfectly , but when the files are created by a software and then these commands are used, it gives error.

awk: { print (-)/() }  
awk:           ^ syntax error
awk: { print (-)/() }
awk:            ^ syntax error
awk: { print (-)/() }
awk:             ^ unterminated regexp

Any other elegant way to do this task?

Était-ce utile?

La solution

It sounds like you have empty files or no files at all, try like this:

fina="$(cat minThick.k)"       || echo "No min file!!"
[[ -z $fina ]]                 && echo "Null min value!!"
echo $fina
init="$(cat Sheetthickness.k)" || echo "No init file!!"
[[ -z $init ]]                 && echo "Null init value!!"
echo $init
echo "($init-$fina)/($init)"   | bc -l > LSDynaResponse.txt
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top