Решено: регулярка на поиск двух совпадений в строке.

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

Аватара пользователя
bars
Сообщения: 630
ОС: BSD/LINUX

Решено: регулярка на поиск двух совпадений в строке.

Сообщение bars »

Добры йдень.
Есть список доменов 2-го и 3-го уровня.
1l.dom.ru
2l.dom.net
don.org
45.dom.ru
dom.ru
Хочу отсортировать домены 3его уровня.
Как проще сделать без циклов сортировку?
решил сортировать по количеству 2точек в строке, это знаичт домены 3го уровня.
grep -m 2 "\." - как то плохо работает.
awk '/\./{i++}i==1' - это в цикле нужно делать.

Я помню были опции grep на подобный случай, но что то пока не нашел.
разбираюсь.
Последний раз редактировалось bars 28.06.2021 18:47, всего редактировалось 1 раз.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 630
ОС: BSD/LINUX

Re: регулярка на поиск двух совпадений в строке.

Сообщение bars »

Сделал так.
grep -v '[[:alnum:]]\+\.[[:alnum:]]\+\.'
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 666
ОС: debian, fedora (i3-wm)

Re: Решено: регулярка на поиск двух совпадений в строке.

Сообщение olecya »

Достаточно обозначить в шаблоне две крайние точки:

Код: Выделить всё

 grep -v '\..*\.'
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 630
ОС: BSD/LINUX

Re: Решено: регулярка на поиск двух совпадений в строке.

Сообщение bars »

olecya писала:
28.06.2021 19:38
Достаточно обозначить в шаблоне две крайние точки:

Код: Выделить всё

 grep -v '\..*\.'
Мне ваш вариант нравится.
Спасибо.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали: