2つの出力列を持つifステートメント

2つの出力列を持つifステートメント

以下に示す出力があります。私の計画は、最初の列を取得し、nより大きい値を持つifステートメントを実行して、IPの2番目の列を取得して切断することです。

cat file| egrep "invalid|password" | egrep -v "Accepted|preauth" | awk '{print $13}' |sort | uniq -c

   6 61.177.172.35
4083 61.177.172.22
   3 69.28.94.192
  10 80.2.33.180

最初の列を抽出してif文を実行できますが、値をそのIPにどのように帰属させるかわかりません。

ベストアンサー1

この試み:

#!/bin/bash

value=1 # to be defined

egrep "invalid|password" file |
egrep -v "Accepted|preauth" |
awk '{print $13}' |
sort |
uniq -c | 
while read -r num ip; do
    if ((num > value)); then
        doSomethingWith "$ip"
    fi
done

おすすめ記事