3개의 데이터 열이 포함된 텍스트 파일이 있습니다. 그러나 서로 다른 파일에서 임의의 시간에 관찰된 단위가 ppn에서 ppb로 변경되므로 변환 계수와 1000 곱셈이 필요합니다.
actual data needed data look
20101001,01:00,0.3 20101001,01:00,0.3,300.000
20110103,10:00,212.67 20110103,10:00,212.670,212.670
원본 내용을 모두 인쇄하고 변환을 위해 네 번째 열을 추가하는 awk 명령이 있습니다.
유일한 문제는 세 번째 열의 모든 내용을 1000으로 인쇄한 다음 네 번째 열에 인쇄한다는 것입니다. 명령은 다음과 같습니다.
awk -F ',' '{printf "%s %s %.3f %.3f\n", $1,$2,$3,$3*1000}' temp7.tmp > County001-CO-0012.out
어떻게 하면 3열의 2와 -1 사이의 값에 1000을 곱한 다음 4열의 3열의 원래 값을 인쇄할 수 있나요?
답변1
awk 코드에서 이 작업을 수행할 수 있습니다.
{
# if $3 is between -1 and 2, multiply by 1000
converted = $3 * (-1 <= $3 && $3 <= 2 ? 1000 : 1)
printf "%s %s %.3f %.3f\n", $1, $2, $3, converted
}