awk를 사용하여 열 내에서 계산

awk를 사용하여 열 내에서 계산

이것이 내가 지금까지 얻은 것입니다:

var="1.5"

echo "date,1%sa,comment" |
 awk -F ',' '{print $2}' |
 awk -v i="$var" -F '%' '{$1*=i; print $1}'

# prints: 1.5

외부 변수에서 계산할 값을 가져와야 하므로 awk코드 -v에서 두 개의 awk 명령을 사용하여 숫자를 %sa.

date,1.5,comment

답변1

var="1.5"

echo "date,1%sa,comment" |
awk -F ',' -v OFS=',' -v i="$var" '{ split($2, a, "%"); $2 = a[1]*i; print }'

이는 쉼표를 입력 및 출력 구분 기호로 사용한 다음 두 번째 필드에서 분할하여 프로그램에 전달된 변수 값에 %이전 숫자를 곱한 값으로 설정하고 수정된 레코드를 인쇄합니다.%

관련 정보