Я не подумайте, что вы хотите grep для этого, насколько я знаю, вы не можете захватить группу (в вашем случае вы хотите захватить 62
).
Я хотел бы использовать простое регулярное выражение:
#!/usr/bin/perl
use warnings;
use strict;
my @input = ("2001::2 62 00:00:00:00:00:00 incmp 1/1 vlan-id 100 ");
my @foo;
foreach (@input) {
chomp;
my (@match) = ($_ =~ /\d+\s+(\d+)\s+/);
push @foo, @match;
}
foreach (@foo){
print "$_\n";
}
Выход:
62
Как вы используете массив я представляю вам несколько матчей, чтобы сделать. Вышеуказанное будет соответствовать каждому номеру, который находится в том же месте, что и ваш тестовый пример, и нажимать на новый массив - @foo
...
Почему вы используете массив для одного значения? Почему вы хотите сохранить одно значение в массиве? – ikegami
Это не настоящий случай. на самом деле существует несколько строк, мне просто нужен точный шаблон grep 62 или любое значение, которое может прийти в эту позицию. –
Возможно, вам стоит спросить о вашем фактическом случае. Вы читаете из файла? – TLP