shell脚本中gsub的应用

(1)文件filename的内容

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

(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]
",c1,c2,c3,c4}' awk_file
输出结果: c1=[1200];c2=[2300];c3=[0];c4=[4000]
 
原文地址:https://www.cnblogs.com/xingfengzuolang/p/10758813.html