2014-04-09 7 views
1

저는 awk에 새로운 것이므로, 제가 실행중인 모델의 출력 파일을 처리하는 데 점점 더 많이 사용되고 있습니다. 지금 당장 나는 곱셈 문제가 붙어 있습니다.awk가 특정 값으로 열을 곱합니다.

비율의 상대적 변화를 계산하고 싶습니다.

예 :

A B 
1 150 0 
2 210 10 
3 380 1000 
... 

나는 Ax = (Ax-A1)/A1 * 100을 계산하고 싶습니다.

출력 : 내가 함께 열을 곱 수 있지만 텍스트 파일의 위치에 값을 수정하는 방법을 모르는

New_A B 
1 0 0 
2 10 40 
3 1000 153.33 
... 

(. 즉, 1 열 1 행).

감사합니다.

+0

을의'B'가 이상적으로 나는 그런 B Calculated_A''로 출력을하고 싶은, 내 입력 파일입니다. Excel 또는 Matlab에서이 작업을 수행 할 것이지만 프로세스를 스크립팅하면 많은 도움이 될 것입니다. –

답변

1

실제 파일을 가정하면 그 안에 "A B"헤더와 행 번호가 없습니다 :

$ cat file 
150 0 
210 10 
380 1000 
$ awk 'NR==1 {a1=$1} {printf "%s %.1f\n", $2, ($1-a1)/a1*100}' file | column -t 
0  0.0 
10 40.0 
1000 153.3 
관련 문제