|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Проблема с регуляркой (Perl) |
|
Любой язык - Проблема с регуляркой (Perl)
|
Пользователь Сообщения: 51 |
Добрый день.
Есть скрипт на Perl'e, которым я собираю инфу с машины. Столкнулся с проблемой при разборе файла /etc/hosts, а именно с регуляркой которая будет выцеплять нужный мне IP. Файл hosts примерно выглядит так: 10.10.10.101 msk-pc-101-rv1.dome.name msk-rv-101-rv1 10.10.10.102 msk-pc-102-rbc1.dome.name msk-rbc-102-rv1 10.10.10.103 msk-pc-103-rp1.dome.name msk-rp1-103-rv1 10.10.10.104 msk-pc-104-rv1.dome.name msk-rv1-104-rv1 Побывал с начало egrep Вот часть скрипта которая не работает: unless(`cat /etc/hosts` =~ m/ (10\.[0-9]+\.[0-9]+\.[0-9]+)\[ +]\[a-zA-Z0-9]+\-\[a-zA-Z]+\-\[bc1]/) { console( COLOR => 'red', MESSAGE => 'Ошибка получения IP BC' ); die; } my $bc1 = $1; Есть идеи что можно сделать? P.S. регулятора которая в данный момент в скрипте 100 раз видоизмененная, может показаться полным бредом ![]() |
|
Отправлено: 09:16, 29-01-2020 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:19, 29-01-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать https://regex101.com/r/4mLUCx/2 (флаг g для наглядности). Подмасок нет, будет $&.
|
Последний раз редактировалось Sham, 29-01-2020 в 15:14. Причина: $& Отправлено: 10:22, 29-01-2020 | #3 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Да спасибо, обе регулярки отрабатывают корректно.
Но эта часть скрипта почему то, не отрабатывает. Вот в этом же скрипте, данная часть отрабатывает корректно: unless(`ifconfig` =~ m/inet (10\.[0-9]+\.[0-9]+\.[0-9]+)/) { console( COLOR => 'red', MESSAGE => 'Ошибка получения IP адреса' ); } my $ip_addr = $1; что может быть не так? |
Последний раз редактировалось Armsinglom, 29-01-2020 в 14:30. Отправлено: 13:54, 29-01-2020 | #4 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 14:44, 29-01-2020 | #5 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать https://rextester.com/UOWM34553 Один IP нужен или все?
|
Отправлено: 15:13, 29-01-2020 | #6 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать Вообщем один, а как он себя будет вести если вдруг 2 найдет?
|
Отправлено: 15:33, 29-01-2020 | #7 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать для мультипоиска нужен массив и флаг g
|
Отправлено: 16:20, 29-01-2020 | #8 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось Armsinglom, 29-01-2020 в 23:35. Отправлено: 22:28, 29-01-2020 | #9 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 09:42, 30-01-2020 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Java - Проблема с регуляркой | blackeangel | Программирование и базы данных | 1 | 15-06-2017 20:30 | |
perl | simon171078 | Вебмастеру | 2 | 08-09-2006 19:44 | |
FreeBSD 5.3 Perl не видит локали, а KDE при сборке не видит perl :o | mar | Общий по FreeBSD | 8 | 06-05-2005 13:13 | |
Perl | Patrick | Программирование и базы данных | 3 | 02-06-2004 23:27 | |
Perl | Guest | Программирование и базы данных | 2 | 08-03-2004 23:00 |
|