Получаем IP-адреса из log-файла

мы всё больше зависим от компьютеровВчера по работе вылезла задачка: вытащить все IP-шники из архива samba’овских log-файлов. Как известно, адреса там могут находиться на разных позициях, поэтому вычислить их по позициям (awk “{print $4}”) не получится. Я начал искать регулярное выражение. Казалось бы, чего проще? Но почему-то различные варианты типа

sed 's/.*(([0-9]{1,3}\.){3}[0-9]{1,3}).*/\1/p'

не отрабатывало как надо: то выводили всё, то отрезали первые две цифры от адреса. Хотя вроде регэксп правильный, и онлайн-проверка показывала, что всё верно.

Решение нашлось на моём “настольном” сайте commandlinefu.com. Вот оно с небольшими модификациями:

cat log.smbd*bz2|bunzip2|egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|sort -u

Получаем IP-адреса из log-файла: 2 комментария

Добавить комментарий

Ваш адрес email не будет опубликован.