AWK não funciona corretamente no meu sistema [duplicado]

1

não consigo executar este código devido a um erro

awk 'BEGIN {x=0;y=0} { match($13,/([0-9]+)/,a); x = x + a[1]; match($12,/([0-9]+)/,b); y = y + b[1]} END {print "rxPackets:" x " txPackets:" y}' yourfile

o problema é ", a" e ", b" que colocam números em array a

entrada são algumas linhas como esta:

<Flow flowId="1" timeFirstTxPacket="+0.0ns" timeFirstRxPacket="+924100.0ns" timeLastTxPacket="+199984927558.0ns" timeLastRxPacket="+199675473275.0ns" delaySum="+2287566662167.0ns" jitterSum="+65280162191.0ns" lastDelay="+3511349483.0ns" txBytes="161956" rxBytes="116536" txPackets="3125" rxPackets="2251" lostPackets="640" timesForwarded="0">

e a saída me dará uma soma de rxPackets e txPackets separados por exemplo em 100 linhas mas vai me dar erro

eu preciso fazer isso de qualquer maneira possível obrigado

    
por Arash 12.12.2013 / 15:51

1 resposta

2

Tente executar dois comandos separadamente, assim:

   awk 'BEGIN {x=0} { match($13,/([0-9]+)/,y); x = x + y[1]}END {print "rxPackets:" x}' 
   awk 'BEGIN {x=0} { match($12,/([0-9]+)/,y); x = x + y[1]}END {print "txPackets:" x}' 
    
por 12.12.2013 / 16:00

Tags