我是新来的外壳scripting.I有一个CSV文件,我想打印一些符合条件AWK纵列总结一组特定
column1 column2 column3 column4 column5....... columnN a1 b1 c1 0.5 50 100 a2 b2 c2 1 25 150 a1 b1 c2 0.5 25 10 a2 b2 c2 2 20 100
(假定逗号作为分隔 我能排的逐列总和总和
awk -F ',' '{ x = x + $4 } END { print x }'
1)我如何使用它在一个循环从第k到第N个用数值来概括列的特定列?
2)另外我怎样才能有条件地只用于总结符合条件的行列 说,column2是b2和column3是c2? 我可以做
cat file| grep b2 |grep c2| awk...as answer to 1st question
但它会很幼稚。可以请你帮我上面的两个查询?基于答案
下面我试图
awk -F’,' -v k=“3" -v n=“6" '$2=="b2" && $3="c2"{for(i=k;i<=n;i++)s[i]+=$i}
END{for(x in s)printf "sum of column %d is %s\n",x,s[x]}’ test.csv
但它提供了语法错误
-bash: syntax error near unexpected token `i=k'
您的命令看起来像字符单引号和双引号,但不是:'''''''和'“'vs'”' –
错误消息是误导。谢谢! – bl3e