簡體   English   中英

打印多列時與 awk 一起使用 printf

[英]printf usage with awk when printing multiple columns

我正在嘗試以下命令:

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.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本身重寫你的命令,不需要這么多grepcat組合

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM