我正在尝试以下命令:
cat dcl1serrfip_check.csv | grep -Fi 'BANK0_F5_WRDAT_P0[0]' | grep -i setup | grep 'L2H' | grep highv | grep -i low | awk -F ',' -v dev="0.861" -v rc="1.105" -v inte="0.872" '{ print ($10+$11)-(($12+$13)-($14))","($10*dev)+($11*rc)-(($12*dev)+($13*rc)-($14*inte))}'
这给出了以下输出:
-6.93889e-18,0.000288
我希望将此输出格式化为4位小数。怎么做?期望的输出将是
-0.0000,0.0002
答案 0 :(得分:1)
您需要,%0.4f
或%.4f
测试用途:
awk 'BEGIN{ printf("%0.4f\n", -6.93889e-18) }'
所以它变成了:
printf("%0.4f,%0.4f\n", ($10+$11)-(($12+$13)-($14)), ($10*dev)+($11*rc)-(($12*dev)+($13*rc)-($14*inte)) )
实际上你可以在awk
本身重写你的命令,不需要那么多grep
和cat
组合