if statement com saída de duas colunas

0

Eu tenho uma saída como mostrado abaixo. Meu plano é pegar a primeira coluna e fazer uma declaração if maior que n valor ela vai pegar a segunda coluna do IP e soltar a conexão. Alguém pode me orientar sobre qual é a melhor abordagem.

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

Eu posso extrair a primeira coluna e fazer a declaração if, mas não sei como atribuir o valor a um IP correspondente.

    
por hasslefree 02.02.2018 / 03:57

1 resposta

0

Tente isto:

#!/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
    
por 02.02.2018 / 04:25