У меня большой файл, полный текстовых строк, из которого я хочу разобрать определенные данные. Пример строки данных, которые я хочу:
results: IF-MIB::ifInOctets.9 = Counter32: 23212027
, где изменяется значение Counter32 и изменяется if * .Octets. \ D. Я не возражаю против необходимости нескольких утверждений «если», чтобы получить данные, если это необходимо, но я не смог определить, что мне не хватает. Я проверил справочные документы по Perl и справочные документы по регулярным выражениям и не могу увидеть, что мне не хватает.
Вот пример того, что у меня есть (базовая форма которого работает в других проектах, над которыми я работаю):
my $line = $_;
#print $line;
if ($line =~ "/result.*ifOutOctets\.6.* = counter32/i"){
print $line; #this is here only for testing to see if I am matching the line since the file is not filling in
Я попытался использовать следующие строки в расположении if ($ line = ~ ""), и я уверен, что упускаю что-то простое, но не могу найти, что это такое:
/result(.*)ifOut(.*) = counter32/i
/result.*ifOut.* = counter32: (\d*)/i
/result.*IF-MIB::ifOut.*(\d*) = counter32: (\d*)/i
У меня есть Mac, который я использовал для тестирования через grep, и он успешно возвращает результаты, используя эту форму:
grep -i "result.*ifOutOctets.* = counter32" fileName