Я пытаюсь суммировать трафик различных портов в лог-файлах из "IPCop", поэтому я пишу и командую для своей оболочки, но я думаю, что можно оптимизировать команду.
Первая строка из моего лог-файла:
01/00:03:16 kernel INPUT IN=eth1 OUT= MAC=xxx SRC=xxx DST=xxx LEN=40 TOS=0x00 PREC=0x00 TTL=98 ID=256 PROTO=TCP SPT=47438 DPT=1433 WINDOW=16384 RES=0x00 SYN URGP=0
Теперь я grep со следующей Командой сумма всех длин, который содержит порт 1433
grep 1433 log.dat|awk '{for(i=1;i<=10;i++)if($i ~ /LEN/)print $i};'|sed 's/LEN=//g;'|awk '{sum+=$1}END{print sum}'
Цикл for, который мне нужен, потому что LEN-col не находится в одном и том же положении все время.
Есть предложения по оптимизации этой команды?
С уважением
Rene