LINUX.ORG.RU

Сообщения levin-a

 

sed и замена трех цифр на четыре

Форум — General

Добрый все день!

Требуется ваша помощь!!!

Суть: в текстовом файле есть строки вида:

('128', 'sip', 'SIP/128', 'fixed', '128', 'Sergey', ''),
('250', 'sip', 'SIP/250', 'fixed', '250', 'Peregovorka 1', ''),
('300', 'sip', 'SIP/300', 'fixed', '300', 'Vladimir', ''),
('631', 'sip', 'SIP/631', 'fixed', '631', 'Redenskiy', ''),
('308', 'sip', 'SIP/308', 'fixed', '308', 'Irina', ''),
('305', 'sip', 'SIP/305', 'fixed', '305', 'Fedor', ''),
('524', 'sip', 'SIP/524', 'fixed', '524', 'Victor', ''),

Задача: добавить в начало цифру 1. Желаемый результат:

('1128', 'sip', 'SIP/1128', 'fixed', '1128', 'Sergey', ''),
('1250', 'sip', 'SIP/1250', 'fixed', '1250', 'Peregovorka 1', ''),
('1300', 'sip', 'SIP/1300', 'fixed', '1300', 'Vladimir', ''),
('1631', 'sip', 'SIP/1631', 'fixed', '1631', 'Redenskiy', ''),
('1308', 'sip', 'SIP/1308', 'fixed', '1308', 'Irina', ''),
('1305', 'sip', 'SIP/1305', 'fixed', '1305', 'Fedor', ''),
('1524', 'sip', 'SIP/1524', 'fixed', '1524', 'Victor', ''),

Весь день бьюсь, не получается у меня (((

ОС: Xubuntu

UPD: Было бы круто, если заменить все 3х значные числа (XXX) на четырехзначные 1XXX.

 , ,

levin-a
()

GPEP'нуть айпишники из логов

Форум — General

Доброго дня! Пытаюсь разобраться как парсить логи. ОС ubuntu, файл /var/log/auth.log У меня задача: выделить все айпишники из файла и передать их iptables'у.

со вторым проблем нет, но вот выделить все айпишники не могу, т.к.:

Apr 7 18:45:31 mail sshd[26579]: Failed password for invalid user ts1 from 109.200.103.226 port 39892 ssh2
Apr 7 18:45:34 mail sshd[26581]: Failed password for invalid user ts3 from 109.200.103.226 port 40405 ssh2
Apr 8 01:59:07 mail sshd[27835]: Failed password for root from 46.252.130.123 port 34199 ssh2
Apr 8 01:59:10 mail sshd[27837]: Failed password for root from 46.252.130.123 port 34758 ssh2

есть строки с «for invalid user ts1 from » и есть с «for root from». я пытался сделать так:

cat auth_log_viewer.sh

#!/bin/bash
for ip in `grep "Failed password for invalid user " /var/log/auth.log | gawk '{print $13}' | sort -u`
do
    #Перебор INPUT OUTPUT FORWARD
    for tabs in INPUT OUTPUT FORWARD
    do
        echo "Заносим $ip в REJECT... ok"
        iptables -A $tabs -s $ip -j REJECT
        let "inner+=1"
    done
    echo
done
exit 0

Но это только для «Failed password for invalid user »

Как-то можно без использования временных файлов выдернуть из текста все айпишники? Пробовал так же по маске [0-9][0-9].[0-9] и т.д., но айпишники могуть быть и 1.1.1.1 10.1.1.1 100.1.1.1 и т.д.

Заранее спасибо за помощь!!!

levin-a
()

RSS подписка на новые темы