![awk를 사용하여 열 곱하기](https://linux55.com/image/46829/awk%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%97%B4%20%EA%B3%B1%ED%95%98%EA%B8%B0.png)
사용 방법은 열에 정수(예: 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