awk文本工具按列计算和
需求:對文件中第一列相同的關鍵字的行進行sum,文件內容如下
文件內容:
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 0
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 0
FieldComp 0
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 0
FieldComp 0
GGSPKUpdate 0
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 0
FieldComp 0
GGSPKUpdate 0
GGSPurgedata 0
Insert 170
Total_Data_Bytes 3886
Delete 0
Insert 0
FieldComp 0
GGSPKUpdate 0
GGSPurgedata 0
Total_Data_Bytes 0
處理后效果(分別統計Delete,FieldComp,GGSPKUpdate,GGSPurgedata,Insert,Total_Data_Bytes相同的行進行求和)
Delete: 0
FieldComp: 0
GGSPKUpdate: 0
GGSPurgedata: 0
Insert: 1020
Total_Data_Bytes: 23316
shell代碼:
var_text=`cat /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk? '{print $1}'|sort|uniq > /home/oracle/oggscript/vartextlist`
while read line??
do
var1=$line
case? $var1 in
"Delete")
grep "Delete" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "Delete:",count}';;
"FieldComp")
grep "FieldComp" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "FieldComp:",count}';;
"GGSPKUpdate")
grep "GGSPKUpdate" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "GGSPKUpdate:",count}';;
"GGSPurgedata")
grep "GGSPurgedata" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "GGSPurgedata:",count}';;
"Insert")
grep "Insert" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "Insert:",count}' ;;
"Total_Data_Bytes")
grep "Total_Data_Bytes" /u01/app/oracle/ogg/ogg_lastdata/49/GRMCDB.CBS_T2.txt|awk 'BEGIN? {count=0} {count+=$2;} END {print "Total_Data_Bytes:",count}';;
esac
done < /home/oracle/oggscript/vartextlist
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
轉載于:https://blog.51cto.com/11310506/2106436
總結
以上是生活随笔為你收集整理的awk文本工具按列计算和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webpack 阅读笔记
- 下一篇: qq飞车怎么添加qq音乐(QQ官方下载)