Linux:使用AWK计算两个值之间的比率
我有一个如下所示的文本文件:Linux:使用AWK计算两个值之间的比率,linux,awk,syntax-error,Linux,Awk,Syntax Error,我有一个如下所示的文本文件: 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
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“…”
-部分后遗漏了一个逗号
尝试:
看起来您在
printf“…”
-部分后遗漏了一个逗号
尝试:
像这样的
awk 'BEGIN { printf "%10s %10s","Column1:","Ratio:\n" } file
{ printf "%10s %10f\n" ,$1, ($5/$4) }'
Column1: Ratio:
abcd 670.374855
abcd 39.749882
abcd 151.527660
abcd 0.007932
像这样的
awk 'BEGIN { printf "%10s %10s","Column1:","Ratio:\n" } file
{ printf "%10s %10f\n" ,$1, ($5/$4) }'
Column1: Ratio:
abcd 670.374855
abcd 39.749882
abcd 151.527660
abcd 0.007932
…并且应该是
($5)/($4)
真的,OP声明的第四列和第五列这仍然得到一个混乱的输出。@Jotne--是的,应该像您那样添加一个\n
+1补偿:-)…应该是($5)/($4)
真的,OP声明的第四列和第五列这仍然得到一个混乱的输出。@Jotne--是的,应该像你那样添加一个\n
+1.请您赔偿:-)