У меня есть файл журнала, который выглядит, как показано ниже:Perl извлечения данных из файла на основе состояния
874899 [email protected] to execute some files
Exit Status : 0
Exit time : Sun May 5 18:19:39 2013
874923 [email protected] to execute some files
Exit Status : 2
Exit time : Sun May 5 18:19:42 2013
У меня есть скрипт, который смотрит на шаблон и возвращает строку ниже этого подходящего шаблона. Сценарий выглядит следующим образом:
open(FH,'log.txt');
while ($line = <FH>) {
if ($line =~ /Exit Status/) {
print "$line";
print scalar <FH>;
}
}
мне нужен ввод о том, как я должен делать это так, что он соответствует Exit status
(как 2 в данном случае) и сохранить 874923
линию вместе с командами (В этом случае) и Exit Time
как две отдельные переменные.
Пожалуйста, исправьте меня, поскольку я новичок в Perl.
Что вы имеете в виду 'Выход Time' как два отдельных Варс? Вы хотите, чтобы текст его в одном var и дата/время в другом? – hwnd
@JasonGray Благодарим вас за быстрый ответ. Время вывода - это просто переменная в этом случае. Но являются переменными в соответствии с файлами журнала. – deep
Неясно, из вашего вопроса, что ваш файл журнала содержит. Я предполагаю, что '# Состоит из трех строк вывода' не находится в файле, но есть' {...} 'там? И есть ли три строки данных, включая * «Статус выхода» и «Время выхода», или пять строк в общей записи? Не могли бы вы просто опубликовать данные в реальном времени? Было бы намного проще понять. – Borodin