2013-12-12 2 views
-2

я получил массив с элементами:как Grep определенную строку и показать только определенный столбец

set interfaces ge-1/0/2 unit 108 family inet address 10.187.132.227/27 vrrp-group 8 virtual-address 10.187.132.225 
set interfaces ge-1/0/2 unit 108 family inet address 10.187.132.227/27 vrrp-group 8 priority 200 
set interfaces ge-1/0/2 unit 108 family inet address 10.187.132.227/27 vrrp-group 8 accept-data 
set interfaces ge-1/0/2 unit 109 family inet address 10.187.133.3/27 vrrp-group 9 virtual-address 10.187.133.1 
set interfaces ge-1/0/2 unit 109 family inet address 10.187.133.3/27 vrrp-group 9 priority 190 
set interfaces ge-1/0/2 unit 109 family inet address 10.187.133.3/27 vrrp-group 9 accept-data 
set interfaces ge-1/0/2 unit 110 family inet address 10.187.133.35/27 vrrp-group 10 virtual-address 10.187.133.33 
set interfaces ge-1/0/2 unit 110 family inet address 10.187.133.35/27 vrrp-group 10 priority 200 
set interfaces ge-1/0/2 unit 110 family inet address 10.187.133.35/27 vrrp-group 10 accept-data 
set interfaces ge-1/0/2 unit 111 family inet address 10.187.133.67/27 vrrp-group 11 virtual-address 10.187.133.65 
set interfaces ge-1/0/2 unit 111 family inet address 10.187.133.67/27 vrrp-group 11 priority 190 
set interfaces ge-1/0/2 unit 111 family inet address 10.187.133.67/27 vrrp-group 11 accept-data 
set interfaces ge-1/0/2 unit 112 family inet address 10.187.133.99/27 vrrp-group 12 virtual-address 10.187.133.97 

как я Grep только строку между адресом и VRRP-группы?

+1

Это был дан ответ [здесь] (http://stackoverflow.com/questions/20550612/perl-grep-with-on-array/20551373#20551373). – Kenosis

ответ

-1

Предполагая, что каждая строка представляет собой элемент, split каждый элемент в пространствах, чтобы превратить его в массив, внешний вид в соответствующем элементе массива.

1
my @array = ... 

my @strings = map {/address\s*(.*?)\s*vrrp-group/ ? $1 :()} @array; 
Смежные вопросы