패턴을 일치시키고 계산을 수행하며 최대 3~4개의 부동 소수점 값만 인쇄합니다.

패턴을 일치시키고 계산을 수행하며 최대 3~4개의 부동 소수점 값만 인쇄합니다.

아래를 GB로 변환하고 3개의 float 값만 인쇄하고 싶습니다.

v  copvol2      fsgen        ENABLED  204800   -        ACTIVE   -       -
v  copvol3      fsgen        ENABLED  204800   -        ACTIVE   -       -
v  copvol4      fsgen        ENABLED  204800   -        ACTIVE   -       -
v  copvol5      fsgen        ENABLED  204800   -        ACTIVE   -       -
v  copvol6      fsgen        ENABLED  204800   -        ACTIVE   -       -

현재 사용 중이며 nawk '/^v/{print $2,$5/2048/1024}'출력은 다음과 같습니다.

copvol2 0.0976562
copvol3 0.0976562
copvol4 0.0976562
copvol5 0.0976562
copvol6 0.0976562

하지만 다음과 같은 출력을 받고 싶습니다.

copvol2 0.0976
copvol3 0.0976
copvol4 0.0976
copvol5 0.0976
copvol6 0.0976

답변1

printf사용자 정의 형식으로 레코드/필드/변수를 인쇄하는 데 사용할 수 있습니다 .

nawk '/^v/{printf "%s %.4f\n", $2, $5/2048/1024}'

관련 정보