-1

$ countipから最大の数値を抽出し、それを$ totalipにコピーしようとしています。問題は、$totalipが常に0を返すことです。誰か助けてくれませんか。bashスクリプトは初めてです。

for srcip in `cat /var/log/messages | grep "WACSLAW1 CRITICAL INCOMING" | awk '{ print $14 }'|grep -v 192.168.1. |grep -v IN=eth1 |grep -v MAC`;do
        if (! grep "$srcip" /var/wacstemp/ids.tmp > /dev/null) ; then
                countip=0
                echo $srcip >> /var/wacstemp/ids.tmp
        else
                countip=`expr $countip + 1`

                        if [ $countip -gt $totalip ];
                        then 
                        #       echo $countip
                                countip=$totalip
                        #       echo $totalip
                        fi
        fi
done
4

1 に答える 1

0

切り替える必要があります

countip=$totalip

totalip=$countip

それ以外の場合totalipは更新されません。

OT:初期フィルターを次のように簡略化できます

awk '/WACSLAW1 CRITICAL INCOMING/ && $14 !~ /192.168.1./ && $14 !~ /IN=eth1/ && $14 !~ /MAC/ { print $14 }' /var/log/messages
于 2013-02-26T18:52:37.130 に答える