awk中gsub的应用

(1)文件filename的内容

cat awk_file 1 2 3 $1,200.00 1 2 3 $2,300.00 1 2 3 $4,000.00

【awk中gsub的应用】(2)去掉第四列的$和,并汇总第四列的和。
awk '{gsub(/\$/,""); gsub(/,/,""); cost+=$4; }END{print "The sum is $"cost > "filename"}' awk_file

gsub函数用空串替换$和,再将结果输出到filename中。
(3)输出结果。
cat filename The sum is $7500

(4)格式化形式的输出
#awk '{gsub(/\$/,""); gsub(/,/,""); if ($4>1000&&$4<2000) c1+=$4; else if ($4>2000&&$4<3000) c2+=$4; else if ($4>3000&&$4<4000) c3+=$4; else c4+=$4; } END {printf"c1=[%d]; c2=[%d]; c3=[%d]; c4=[%d]\n",c1,c2,c3,c4}' awk_file
输出结果: c1=[1200]; c2=[2300]; c3=[0]; c4=[4000]


    推荐阅读