awk를 사용하여 열 곱하기

awk를 사용하여 열 곱하기

사용 방법은 열에 정수(예: 3)를 곱하고 이전 값을 새 값으로 바꾸는 것 awk입니다.

입력하다:

데이터 9390.900391 10573.089844 80.000000 200.000000 2.700000
데이터 17762.810547 18536.189453 85.000000 200.000000 2.700000

예상 출력: (마지막 열에 3을 곱한 후)

데이터 9390.900391 10573.089844 80.000000 200.000000 8.100000
데이터 17762.810547 18536.189453 85.000000 200.000000 8.100000

답변1

노력하다:

$ awk 'NF{$NF = sprintf("%.6f", $NF*3)}1' file
Data 9390.900391 10573.089844 80.000000 200.000000 8.100000
Data 17762.810547 18536.189453 85.000000 200.000000 8.100000

$NF변경하려는 필드의 위치로 변경합니다 $n.n

답변2

for루프를 사용하십시오 .

awk '/^$/{next}; {for(i=1;i<=5;i++){printf "%s\t", $i}; printf "%.6f\n", $6*3}' file 
Data    9390.900391     10573.089844    80.000000       200.000000      8.100000
Data    17762.810547    18536.189453    85.000000       200.000000      8.100000

관련 정보