2017-11-15 12 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 the rescue!

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