LinuxForum.Fans
Тема

Регулярное выражение для Perl

Автор: Burger 3 сообщений 2947 просмотров
#380495

Привет.
Есть файл с таким содержимим:
[console]burger@lb:~$ cat file
network.148.connections/count/Value
network.8.connections/count/Value
network.5.connections/count/Value
network.56.connections/count/Value
network.w-1338.connections/count/Value
network.w-1457.ping/time/Twenty
network.w-12.response/time/Fifteen
[/console]
Задача: отгрепать только:

text
network.148.connections/count/Value
network.8.connections/count/Value
network.5.connections/count/Value
network.56.connections/count/Value

На данный момент застопорился на таком варианте, но:

text

burger@lb:~$ grep -P 'network\.w-|[0-9]{1,4}\.connections/count/Value' file|grep connections
network.148.connections/count/Value
network.8.connections/count/Value
network.5.connections/count/Value
network.56.connections/count/Value
network.w-1338.connections/count/Value

Но может, существует возможность это реализовать одним перловым выражением?

#380499

Я так понял, что

"Burger" написал:
text

network.w-1338.connections/count/Value

тоже нужно?
text

$ grep -P "network\.(w-){0,1}[0-9]{1,4}\.connections/count/Value" file

или

text

$ grep -P "network\.(w-)?[0-9]{1,4}\.connections/count/Value" file
#380504

Второй вариант - супер. Решено.

Войдите или зарегистрируйтесь, чтобы ответить.