Witam,
mam proźbę o pomoc.
Mianowicie chciałbym wyciągnąć z logów adresy ip, te które się chcą włamać. Do tej pory mam taką wizję, że chciałbym wyciągnąć IP, sprawdzić czy istanieje w pliku z adresami, jak nie to dopisać, a jak istnieje, to dać tylko komunikat, ze już istnieje. Coś tam napisałem, ale pewnie jest źle, bo nie ma sprawdzenia, czy już adres istnieje, czy mógłby mi ktoś pomóc ?
Z góry dziękuję
#!/bin/bash
for ip in $( grep "SASL LOGIN authentication failed" /var/log/mail.log | awk -F"from" {'print | sort -u | grep -oE '[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}' | grep -v "0.0.0.0" | sort -n )
do
while read -r ipaddress;
do
if [ $ip != "$1"];
then
echo $ipaddress >> ip.txt
echo "Dodano nowy adres IP:" $ipaddress;
else
echo $ipaddress "już istnieje";
fi
done < ip.txt
done
to nie będzie działać, masz błąd w konstrukcji awk.
77: Line 2: File end reached when searching for "'".
77: Line 15: Syntax error: Unexpected file end.
awk -F"from" - brak odstępu po -F
{'print | sort - print tu brak $2 lub $3 lub $coś}'