echo "scale=3;1/8" | bc
показывает .125
на экране. Как показать, 0.125
если выходной результат меньше единицы?
echo "scale=3;1/8" | bc
показывает .125
на экране. Как показать, 0.125
если выходной результат меньше единицы?
Ответы:
Вы можете трубку в awk
echo "scale=3;1/8" | bc | awk '{printf "%.3f\n", $0}'
или вы можете просто использовать awk для всего этого
awk '{printf "%.3f\n", 1/8}' <<< ""
0.125
<<< ""
?
here string
. Таким образом, в основном притворяется, что в конце есть пустой файл, иначе awk будет читать из stdin.Дополнительная информация здесь
BEGIN
блока избавит вас от этой проблемы, и это портативно.