Вчера по работе вылезла задачка: вытащить все IP-шники из архива samba’овских log-файлов. Как известно, адреса там могут находиться на разных позициях, поэтому вычислить их по позициям (awk “{print $4}”) не получится. Я начал искать регулярное выражение. Казалось бы, чего проще? Но почему-то различные варианты типа
sed 's/.*(([0-9]{1,3}\.){3}[0-9]{1,3}).*/\1/p'
не отрабатывало как надо: то выводили всё, то отрезали первые две цифры от адреса. Хотя вроде регэксп правильный, и онлайн-проверка показывала, что всё верно. Читать далее