Как я могу найти определенную строку в файле, используя Perl?

#string #perl

#строка #perl

Вопрос:

Я новичок в Perl. Я хочу найти строку в некотором файле, а затем я хочу получить всю строку, содержащую строку.

Комментарии:

1. Что вы пробовали? Что работает, а что нет? Можете ли вы открыть файл на Perl? Вы знаете регулярные выражения?

2. да, я знаю, как открыть файл, но я не знаю, как искать в нем определенную строку (новую в perl). Спасибо

Ответ №1:

perl -ne 'print if m/whatever/' file

Ответ №2:

  1. Откройте файл

  2. Цикл, пока есть строки для чтения из файла

    2.1 Используя регулярные выражения, проверьте, соответствует ли строка шаблону: if ($line =~ /pattern/) .

    2.2 Если да, выведите строку

  3. Закройте файл.

Ответ №3:

 if ( !open(LOGFILE, "<myfile.log") ) 
{
print "ERROR: failed to open myfile.logn";}
else {   
while (<LOGFILE>){
if ($_ =~ /pattern/)
    {    print "foundn";
         break;
     }
}   
close (LOGFILE);
}