2017-11-15 6 views
0

測定値を含むラテックステーブルを自動的に作成します。測定値は、次の形式のテキストファイルで与えられます。誤差の有効桁数と一致するように測定値の出力を切り捨てます。

#measurements #error 
1.23456  0.00034 
2.34567  0.34 

などです。

私の問題は、今私は、次の形式でプリントアウトしたデータを持つようにしたいということです:括弧内の数字の数はで与えられた不確実性を測定対象の桁数を表し

#measurement(error) 
1.23456(34) 
2.34(34) 

ブラケット。私は

awk '{printf("%f(%d)\n", $1, $2*100000)}' datafile   

を使用して非常に美しい

ない

#measurement(error) 
1.23456(34) 
2.34567(34000) 

のポイントを取得

は、個々に応じた測定の出力を切り捨てるする方法はあります誤差の大きさ。 私はawkに縛られていません、他の方法を採用しているソリューションも大歓迎です!

答えて

0

awkレスキュー!

1$ awk 'NR==1; 
     NR>1 {n=match($2,/[1-9]/); 
       print substr($1,1,n+1) "(" substr($2,n) ")" }' file 

#measurements #error 
1.23456(34) 
2.34(34) 
+0

完璧に、多くのありがとう – SimonS

関連する問題