Linux:使用 AWK 计算 2 个值之间的比率



我有一个看起来像这样的文本文件:

abcd nasj uasdy 3452 2314134
abcd efgh sdfdsf 234553 9323454
abcd asdf asdfasdf 34545 5234523
abcd sdfa sadfad 435232434 3452435

现在我尝试使用 awk 计算第 5 列和第 4 列之间的比率,我尝试了这个:

BEGIN { printf "%10s %10s" "Column1:", "Ratio:%s" } 
        { printf "%10s %10f"  $1, ($6)/($5) }

但是我不断收到一个错误说:

awk: awkRatio.awk:1: fatal: not enough arguments to satisfy format string
    `%10s %10sColumn1:'
            ^ ran out for this one

看起来您在printf "..."部分之后错过了一个逗号尝试:

BEGIN { printf "%10s %10s", "Column1:", "Ratio:" } 
    { printf "%10s %10f",  $1, ($5)/($4) }

有些像这样?

awk 'BEGIN { printf "%10s %10s","Column1:","Ratio:n" } file
        { printf "%10s %10fn" ,$1, ($5/$4) }'
  Column1:    Ratio:
      abcd 670.374855
      abcd  39.749882
      abcd 151.527660
      abcd   0.007932

最新更新