【发布时间】:2010-06-01 11:42:33
【问题描述】:
我尝试对来自“IPCop”的日志文件中不同端口的流量求和,因此我为我的 shell 编写和命令,但我认为可以优化命令。
我的日志文件中的第一行:
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 始终不在同一位置。
对优化这个命令有什么建议吗?
问候 雷内
【问题讨论】: