I’m looking for a shell one-liner that will parse the following example currency string PHP10000 into $245. I need to parse the number from the string, multiply it with a preset conversion factor then add a “$” prefix to the result.
So far, what I have is only this:
echo PHP10000 | sed -e 's/PHP//'
which gives 10000 as result.
Now, I’m stuck on how to do multiplication on that result.
I’m thinking awk could also give a solution to this but I’m a beginner at shell commands.
Update:
I tried:
echo PHP10000 | expr `sed -e 's/PHP//'` \* 2
and the multiplication works properly only on whole numbers. I can’t use floating point numbers as it gives me this error: expr: not a decimal number: '2.1'.
One way:
Results:
Or to print to two decimal places:
Results:
EDIT:
Bash doesn’t support floating point operations. Use
bcinstead:Results: