다음과 같은 CSV 파일이 있습니다.
Row 1,1,4.50,
Row 2,8,0.30,
Row 3,14,0.30,
Row 4,2,2.50,
Row 5,20,0.30,
두 번째 열과 세 번째 열을 곱하고 그 결과를 네 번째 열에 추가하고 싶습니다.
이 간단한 awk 명령을 얻었습니다.
awk -F',' '{print $1 "," $2 "," $3 "," $2 * $3}' file
나는 얻다:
Row 1,1,4.50,4.5
Row 2,8,0.30,2.4
Row 3,14,0.30,4.2
Row 4,2,2.50,5
Row 5,20,0.30,6
[N.NN]과 같이 마지막 라이브러리의 출력 형식을 지정하는 방법이 있나요?
그래서 다음과 같이 출력됩니다.
Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00
답변1
printf
예를 들어 또는 를 사용하여 sprintf
출력 형식을 지정할 수 있습니다 .
$ awk -F, '{printf "%s%.2f\n", $0, $2*$3}' file
Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00
또는
$ awk -F, '{print $0 sprintf("%.2f", $2*$3)}' file
Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00